Accessibility Health Check
https://montgomerycountymd.gov
Excellent
https://daylight.sonde.life/usgov/montgomerycountymd-gov/
Excellent
Executive Summary
Top Findings
highFocus jumps backward from "News" to "Privacy" (visual distance: 756px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>Privacy</a>
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
<a>News</a>
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
<a>Countywide Recreation and Parks Advisory Board</a>
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
<a>Read Bill 6-22, which established the Sports Advisory Commit</a>
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
<a>Montgomery County Sports Advisory Committee</a>
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
<a>March 2026</a>
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
<a>External link: View All Rec Insider Videos</a>
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
<a>Recreation Staff</a>
Reorder elements in the DOM to match the visual layout.
highMissing X-Content-Type-Options header
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
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<h3>Annual Reports</h3>
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<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
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
<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
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
<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
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
<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
<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
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
mediumMissing X-Content-Type-Options header
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
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
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
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
Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumMissing X-Content-Type-Options header
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
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
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
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
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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<nav role="nav">Sidebar navigation</nav>
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
<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
<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
<a href="http://x.com/MontgomeryCoMD"></a>
lowBroken link: https://bsky.app/profile/montgomerycountymd.bsky.social returned status 404 Not Found after 1 attempts
<a href="https://bsky.app/profile/montgomerycountymd.bsky.social"></a>
lowBroken link: https://x.com/MontCoExec returned status 403 Forbidden after 1 attempts
<a href="https://x.com/MontCoExec"></a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a href="http://x.com/mocorec"></a>
lowBroken link: http://x.com/mocorec returned status 403 Forbidden after 1 attempts
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a>March 2026</a>
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<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
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
mediumMissing X-Content-Type-Options header
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
<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
<nav role="nav">Sidebar navigation</nav>
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
<a href="http://x.com/mocorec"></a>
lowBroken link: https://mdmontgomeryctyweb.myvscloud.com/webtrac/web/splash.html returned status 403 Forbidden after 1 attempts
<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
<a>Read Bill 6-22, which established the Sports Advisory Commit</a>
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
<h3>Annual Reports</h3>
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
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
<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
<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
<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
<a>Montgomery County Sports Advisory Committee</a>
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
<section id="social-media-ribbon" class="bg-primary-2 text-white">
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/about">About</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/how">How To</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/rec-1">Calendar</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/memberships">Memberships</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/customer-service">Customer Service</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/activities-programs">Activities and Programs</a>
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
<a class="text-primary-2 py-1 hover:underline " href="/montgomery-county-recreation/facilities">Facilities</a>
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
<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
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
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
<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
<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
<a href="http://x.com/mocorec"></a>
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.
where S = sensitivity (750), P = Σ(weight × count), N = pages scanned
| Tier | Weight | Examples |
|---|---|---|
| Critical | 10 | Keyboard traps, missing page language |
| High | 3 | Missing alt text, insufficient contrast |
| Medium | 1 | Heading hierarchy, unclear link purpose |
| Low | 0.25 | Best-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.