Montgomery County (MD) — Score 984 | Sonde

Sonde

Accessibility Health Check

https://montgomerycountymd.gov

Excellent

April 28, 2026

Provided free by Sonde

12pages156findings0critical10high102medium44low13.0avg/page4,164elements33with findings99.2%ECR3m 13stotal16.1sper page

Excellent

Executive Summary

12pages156findings13.0avg/page4,164elements33with findings99.2%ECR3m 13stotal16.1sper page

Top Findings

Copy a direct link to share a finding Open a discussion to give feedback on a finding

highFocus jumps backward from "News" to "Privacy" (visual distance: 756px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Privacy</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Residents" to "News" (visual distance: 6092px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>News</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Customer Service" to "Countywide Recreation and Parks Advisory Board" (visual distance: 452px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Countywide Recreation and Parks Advisory Board</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Customer Service" to "Read Bill 6-22, which established the Sports Advisory Commit" (visual distance: 441px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Read Bill 6-22, which established the Sports Advisory Commit</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Customer Service" to "Montgomery County Sports Advisory Committee" (visual distance: 634px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Montgomery County Sports Advisory Committee</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout. Align DOM order with visual presentation, or use tabIndex to match the visual sequence.

highFocus jumps backward from "Customer Service" to "March 2026" (visual distance: 398px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>March 2026</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Customer Service" to "External link: View All Rec Insider Videos" (visual distance: 740px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>External link: View All Rec Insider Videos</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "Customer Service" to "Recreation Staff" (visual distance: 639px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Recreation Staff</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highMissing X-Content-Type-Options header
Page: /
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
Element:
<h3>Annual Reports</h3>
Sonde Fix Plan

Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumClicking "Language" inserts 12 element(s) without ARIA live region. Screen readers will not announce this dynamic content.WCAG 4.1.3
Element:
<button tabindex="0" class="appearance-none flex items-center gap-2 group " aria-expanded="false" aria-label="Language"><i class="fa-language fa-solid "></i><span class="group-hover:underline  hidden 
Sonde Fix Plan

Wrap dynamically inserted content in an element with aria-live="polite" (or role="status"/"alert") so assistive technologies announce the change.

mediumClicking "Apply for" inserts 7 element(s) without ARIA live region. Screen readers will not announce this dynamic content.WCAG 4.1.3
Element:
<button class="font-body text-base font-semibold leading-6 py-2.5 px-2.5 inline-flex items-center justify-center gap-1.5 text-center rounded-lg bg-button-background text-button-text border-button-back
Sonde Fix Plan

Wrap dynamically inserted content in an element with aria-live="polite" (or role="status"/"alert") so assistive technologies announce the change.

mediumClicking "Language" inserts 12 element(s) without ARIA live region. Screen readers will not announce this dynamic content.WCAG 4.1.3
Element:
<button tabindex="0" class="appearance-none flex items-center gap-2 group " aria-expanded="false" aria-label="Language"><i class="fa-language fa-solid "></i><span class="group-hover:underline  hidden 
Sonde Fix Plan

Wrap dynamically inserted content in an element with aria-live="polite" (or role="status"/"alert") so assistive technologies announce the change.

mediumBroken link: https://www.montgomerycountymd.gov/rec/submit-events/aquatic-center-events.html returned status 404 Not Found after 1 attempts
Element:
<a href="https://www.montgomerycountymd.gov/rec/submit-events/aquatic-center-events.html">Aquatic Centers</a>
mediumContent clipped by 95px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<a class="absolute overflow-hidden h-[1px] w-[1px] focus:static focus:w-auto focus:h-auto focus:border-2 focus:border-black" tabindex="0" href="/montgomery-county-recreation/about/communications/newsl
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Frame-Options header
Sonde Fix Plan

Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Page: /
Element:
<input type="text" class="bg-background-2 border-2 border-background-3 text-primary-text py-4 pl-4 pr-14 placeholder:italic placeholder:text-primary-text w-full h-16 rounded-lg" tabindex="0" aria-labe
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Page: /
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
lowDeep focus region: nav "Sidebar navigation" has 17 tab stops before focus escapes. Consider adding skip navigation or grouping with arrow keys.WCAG 2.4.1
Element:
<nav role="nav">Sidebar navigation</nav>
Sonde Fix Plan

Add a "skip to content" link or use roving tabindex to reduce the number of Tab stops.

lowBroken link: https://www.linkedin.com/in/montgomery-county-executive/ returned status 999 <none> after 2 attempts
Page: /
Element:
<a href="https://www.linkedin.com/in/montgomery-county-executive/"></a>
lowLink timeout: http://www3.montgomerycountymd.gov/311/SolutionView.aspx?SolutionId=1-234ONR did not respond within 5000ms after 3 attempts
Page: /
Element:
<a href="http://www3.montgomerycountymd.gov/311/SolutionView.aspx?SolutionId=1-234ONR">Request Pothole RepairThe county relies on the repair requests made by residents</a>
lowBroken link: http://x.com/MontgomeryCoMD returned status 403 Forbidden after 1 attempts
Page: /
Element:
<a href="http://x.com/MontgomeryCoMD"></a>
lowBroken link: https://bsky.app/profile/montgomerycountymd.bsky.social returned status 404 Not Found after 1 attempts
Page: /
Element:
<a href="https://bsky.app/profile/montgomerycountymd.bsky.social"></a>
lowBroken link: https://x.com/MontCoExec returned status 403 Forbidden after 1 attempts
Page: /
Element:
<a href="https://x.com/MontCoExec"></a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>

Best Page Fix Opportunities

/montgomery-county-recreation/about/communications/newsletter15findings
highFocus jumps backward from "Customer Service" to "March 2026" (visual distance: 398px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>March 2026</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumContent clipped by 95px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<a class="absolute overflow-hidden h-[1px] w-[1px] focus:static focus:w-auto focus:h-auto focus:border-2 focus:border-black" tabindex="0" href="/montgomery-county-recreation/about/communications/newsl
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
lowDeep focus region: nav "Sidebar navigation" has 17 tab stops before focus escapes. Consider adding skip navigation or grouping with arrow keys.WCAG 2.4.1
Element:
<nav role="nav">Sidebar navigation</nav>
Sonde Fix Plan

Add a "skip to content" link or use roving tabindex to reduce the number of Tab stops.

lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
/montgomery-county-recreation/about/boards/sports-advisory-committee14findings
highFocus jumps backward from "Customer Service" to "Read Bill 6-22, which established the Sports Advisory Commit" (visual distance: 441px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Read Bill 6-22, which established the Sports Advisory Commit</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
Element:
<h3>Annual Reports</h3>
Sonde Fix Plan

Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumMissing X-Content-Type-Options header
Sonde Fix Plan

Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
Element:
<a href="http://x.com/mocorec"></a>
/montgomery-county-recreation/about/boards/sports-advisory-committee/unsung-sports-hero-award14findings
highFocus jumps backward from "Customer Service" to "Montgomery County Sports Advisory Committee" (visual distance: 634px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Montgomery County Sports Advisory Committee</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout. Align DOM order with visual presentation, or use tabIndex to match the visual sequence.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="social-media-ribbon" class="bg-primary-2 text-white">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 101, 189), text: rgb(55, 55, 55)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumClicking "Language" inserts 12 element(s) without ARIA live region. Screen readers will not announce this dynamic content.WCAG 4.1.3
Element:
<button tabindex="0" class="appearance-none flex items-center gap-2 group " aria-expanded="false" aria-label="Language"><i class="fa-language fa-solid "></i><span class="group-hover:underline  hidden 
Sonde Fix Plan

Wrap dynamically inserted content in an element with aria-live="polite" (or role="status"/"alert") so assistive technologies announce the change.

mediumMissing X-Frame-Options header
Sonde Fix Plan

Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumStuck loading state: loading indicator CSS class on <input> persists after page readiness
Element:
<input type="text" name="search" class="w-50 2xl:w-[18.75rem] md:py-2.5 pl-4 pr-[2.75rem] text-primary-text placeholder:italic placeholder:text-primary-text border-background-3 rounded-lg" tabindex="0
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
Element:
<a href="https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html">Log in to ActiveMONTGOMERY</a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts

Methodology

The Sonde Score is a universal 0–1000 compliance index — think of it like a credit score for accessibility. Each finding is weighted by its impact on human access: a keyboard trap (critical) counts far more than a best-practice suggestion (low). The raw penalty is normalized per page so scores are comparable across sites of any size. A harmonic curve ensures every site gets a meaningful score — no zeros, no false perfection.

Score = round(1000 × S / (S + P/N))

where S = sensitivity (750), P = Σ(weight × count), N = pages scanned

TierWeightExamples
Critical10Keyboard traps, missing page language
High3Missing alt text, insufficient contrast
Medium1Heading hierarchy, unclear link purpose
Low0.25Best-practice suggestions

The Sonde Score is a living standard (v0.1). We’re building it in the open because accessibility is too important for closed-door decisions. Your expertise makes it better.

Enter Mission Control

Review raw findings data, track changes between scans, and contribute to Sonde’s open methodology.

Nominate a Site for the Daylight Index

Know a public website that should be on the accessibility leaderboard? Nominate it — we’ll scan it and publish the results.

Nominate a Site →

This report is a health check, not a verdict. Every website has room to improve.

Disclaimer: This report presents the results of automated accessibility analysis and is provided free of charge, as-is, without warranty of any kind. Findings are generated by software, not by human accessibility experts, and may contain errors or omissions. Automated testing can detect approximately 30–40% of accessibility issues; manual expert evaluation is recommended for complete conformance assessment. Scores reflect algorithmic analysis under a published methodology open to public review — they are not legal determinations of compliance. Results reflect the state of the website at the time of scanning and may change as the site is updated. Nothing in this report constitutes legal advice. Sonde assumes no liability for decisions made based on these results.

Compliance methodology: NIST 800-53 Rev 5 (usnistgov/oscal-content v1.4.0, catalog 5.2.0) · NIST PRIVACY overlay (usnistgov/oscal-content v1.4.0, catalog 5.2.0) · FedRAMP Rev 5 (OSCAL-Foundation/fedramp-resources a6b85ed451, catalog fedramp-3.0.0rc1-oscal-1.1.2).