Accessibility Health Check
https://cityofboise.org
Strong
https://daylight.sonde.life/usgov/cityofboise-org/
Strong
Executive Summary
Top Findings
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgba(0, 0, 0, 0), background: rgb(255, 255, 255). Text: "Search"WCAG 1.4.3
<span class="text-hide">Search</span>
Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" style="" aria-hidden="true">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" aria-hidden="true" style="">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" aria-hidden="true" style="">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="https://mycourts.idaho.gov/" target="_blank"> <i class="cob-icon-Pantheon cob-icon-color--orange"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/city-code/"> <i class="cob-icon-Assignment cob-icon-color--blue"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/public-records/"> <i class="cob-icon-Books cob-icon-color--blue"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/master-fees-and-fines/"> <i class="cob-icon-Banknote cob-icon-color--orange"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/licensing/"> <i class="cob-icon-Marriage-Settlement cob-icon-color--red"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-council/"> <i class="cob-icon-Auction cob-icon-color--green"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 733px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7000" (visual distance: 879px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7000</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 773px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7950" (visual distance: 892px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7950</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7950" (visual distance: 892px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7950</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 733px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 773px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7950" (visual distance: 892px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7950</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 972-8150" (visual distance: 879px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 972-8150</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SEE MORE" to "Childcare Services Updates" (visual distance: 794px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>Childcare Services Updates</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 773px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumPage has 2 "navigation" landmarks but only 0 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 2 navigation landmarks, 0 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumPage has 4 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 4 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumPage has 3 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 3 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumPage has 3 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 3 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumPage has 3 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 3 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumPage has 5 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 5 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
<h3><span>Employment Opportunities</span></h3>
Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
<h3>Be 'In the Know,'</h3>
Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
<h3>Be 'In the Know,'</h3>
Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumAside should not be contained in another landmark: Fix any of the following: The null landmark is contained in another landmark.
<aside class="col-md-4 sidebar">
Ensure the complementary landmark or aside is at top level. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
<h3>Other Links</h3>
Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLink is distinguished from surrounding text only by color (link: rgb(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/departments/city-attorney/">City Attorney</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/departments/city-attorney/">City Attorney</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/departments/city-attorney/">City Attorney</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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.
mediumInsufficient color contrast: 3.42:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 0, 0), background: rgb(237, 237, 241). Text: "PENDING"WCAG 1.4.3
<span style="color:red">PENDING</span>
Current ratio: 3.42:1 (need 4.5:1). Change foreground from #ff0000 to #da0000 (ratio: 4.5:1).
mediumClicking "Submit" inserts 1 element(s) without ARIA live region. Screen readers will not announce this dynamic content.WCAG 4.1.3
<button class="btn--submit--circle" type="submit" role="button"><span class="sr-only">Submit</span></button>
Wrap dynamically inserted content in an element with aria-live="polite" (or role="status"/"alert") so assistive technologies announce the change.
mediumElement overflows viewport by 276px at 320px width.WCAG 1.4.10
<img class="card-img-top lazy" data-src="/media/21319/1st-place_courtesy-city-of-boise.jpg?center=0.24230769230769231,0.5&mode=crop&width=350&height=250&rnd=134211724130000000" src="ht
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 276px at 320px width.WCAG 1.4.10
<div class="card-body"><h3 class="card-title">City Announces Community Design Lab Awards Winners</h3><p class="card-text"></p><time datetime="2026-20-30">April 20, 2026</time></div>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 192px at 320px width.WCAG 1.4.10
<figure class="carousel-cell" aria-hidden="true" style="position: absolute; left: 80%;"><a href="/news/planning-and-development-services/2026/april/city-announces-community-design-lab-awards-winners/"
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 244px at 320px width.WCAG 1.4.10
<h3 class="card-title">City Announces Community Design Lab Awards Winners</h3>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 276px at 320px width.WCAG 1.4.10
<div class="card card--article-teaser vibe-bar-action"><img class="card-img-top lazy" data-src="/media/21319/1st-place_courtesy-city-of-boise.jpg?center=0.24230769230769231,0.5&mode=crop&width
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 276px at 320px width.WCAG 1.4.10
<a href="/news/planning-and-development-services/2026/april/city-announces-community-design-lab-awards-winners/"><div class="card card--article-teaser vibe-bar-action"><img class="card-img-top lazy" d
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 93px at 320px width.WCAG 1.4.10
<a class="nav-link" href="/government/"> Government </a>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 93px at 320px width.WCAG 1.4.10
<li class="nav-item"><a class="nav-link" href="/government/"> Government </a></li>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 11px at 320px width.WCAG 1.4.10
<form id="header-search" class="form-inline my-2 my-lg-0 search-form"><input class="form-control search-form__text-input" type="text" placeholder="Search" aria-label="Search"> <button class="btn btn-s
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 11px at 320px width.WCAG 1.4.10
<input class="form-control search-form__text-input" type="text" placeholder="Search" aria-label="Search">
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 7px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<div class="grecaptcha-badge" data-style="bottomright" style="width: 256px; height: 60px; display: block; transition: right 0.3s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
mediumElement overflows viewport by 74px at 320px width.WCAG 1.4.10
<span class="text-hide">Search</span>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-badge" data-style="bottomright" style="width: 256px; height: 60px; display: block; transition: right 0.3s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 84px at 320px width.WCAG 1.4.10
<button class="btn btn-search btn-outline-success my-2 my-sm-0" type="button"><span class="text-hide">Search</span></button>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-error"></div>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 23px 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 href="#body" class="sr-only sr-only-focusable">Skip to main content</a>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-logo"><iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-twug8rsjpqdd" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-ori
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-twug8rsjpqdd" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-n
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 23px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<span class="sr-only">Search</span>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowBroken link: https://mycourts.idaho.gov/ returned status 403 Forbidden after 1 attempts
<a href="https://mycourts.idaho.gov/"></a>
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
Best Page Fix Opportunities
www.cityofboise.org41findings
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" style="" aria-hidden="true">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" aria-hidden="true" style="">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highARIA hidden element must not be focusable or contain focusable elements: Fix all of the following: Focusable content should have tabindex="-1" or be removed from the DOMWCAG 4.1.2
<figure class="carousel-cell" aria-hidden="true" style="">
Ensure aria-hidden elements are not focusable nor contain focusable elements. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 733px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7000" (visual distance: 879px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7000</a>
Reorder elements in the DOM to match the visual layout.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumPage has 2 "navigation" landmarks but only 0 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 2 navigation landmarks, 0 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
/departments/city-clerk35findings
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/city-code/"> <i class="cob-icon-Assignment cob-icon-color--blue"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/public-records/"> <i class="cob-icon-Books cob-icon-color--blue"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/master-fees-and-fines/"> <i class="cob-icon-Banknote cob-icon-color--orange"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-clerk/licensing/"> <i class="cob-icon-Marriage-Settlement cob-icon-color--red"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highLinks must have discernible text: Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attributeWCAG 2.4.4
<a class="link" href="/departments/city-council/"> <i class="cob-icon-Auction cob-icon-color--green"></i></a>
Ensure links have discernible text. See: https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFocus jumps backward from "SUBMIT" to "(208) 972-8150" (visual distance: 879px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 972-8150</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SEE MORE" to "Childcare Services Updates" (visual distance: 794px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>Childcare Services Updates</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 773px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumPage has 5 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 5 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumAside should not be contained in another landmark: Fix any of the following: The null landmark is contained in another landmark.
<aside class="col-md-4 sidebar">
Ensure the complementary landmark or aside is at top level. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
<h3>Other Links</h3>
Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLink is distinguished from surrounding text only by color (link: rgb(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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.
mediumElement overflows viewport by 74px at 320px width.WCAG 1.4.10
<span class="text-hide">Search</span>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-badge" data-style="bottomright" style="width: 256px; height: 60px; display: block; transition: right 0.3s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 84px at 320px width.WCAG 1.4.10
<button class="btn btn-search btn-outline-success my-2 my-sm-0" type="button"><span class="text-hide">Search</span></button>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-error"></div>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 23px 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 href="#body" class="sr-only sr-only-focusable">Skip to main content</a>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<div class="grecaptcha-logo"><iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-twug8rsjpqdd" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-ori
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 186px at 320px width.WCAG 1.4.10
<iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-twug8rsjpqdd" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-n
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 23px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<span class="sr-only">Search</span>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
/departments/city-attorney/employment-opportunities23findings
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
criticalInteractive element with role="textbox" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
<!-- a11y: role="textbox" -->
Add an accessible name using aria-label, aria-labelledby, or visible text content. WCAG 4.1.2 requires all interactive elements to have a programmatically determinable name.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/SiteDirectory" class="small">Sitemap</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (160px by 12.8px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17.6px instead of at least 24px.WCAG 2.5.8
<a href="/terms-of-use" class="small">Terms of Use</a>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highFrames must have an accessible name: Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"WCAG 4.1.2
<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyA0s1a7phLN0iaD6-UE7m4qP-z21pH0eSc&q=150 N Capitol Blvd, Boise, ID 83702" width="600" height="200" frameborder="0" style="border:0"...
Ensure <iframe> and <frame> elements have an accessible name. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFocus jumps backward from "GET DIRECTIONS" to "CLOSE" (visual distance: 773px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>CLOSE</a>
Reorder elements in the DOM to match the visual layout.
highFocus jumps backward from "SUBMIT" to "(208) 608-7950" (visual distance: 892px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<a>(208) 608-7950</a>
Reorder elements in the DOM to match the visual layout.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumPage has 3 "navigation" landmarks but only 1 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
<!-- 3 navigation landmarks, 1 labeled -->
Add unique aria-label or aria-labelledby to each "navigation" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.
mediumLandmarks should have a unique role or role/label/title (i.e. accessible name) combination: Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
<nav class="navbar navbar-expand navbar-light bg-light" style="min-height:105px">
Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/
mediumLink is distinguished from surrounding text only by color (link: rgb(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/">Home</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(255, 255, 255), text: rgb(74, 79, 84)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
<a href="/departments/city-attorney/">City Attorney</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.
mediumElement overflows viewport by 93px at 320px width.WCAG 1.4.10
<a class="nav-link" href="/government/"> Government </a>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 93px at 320px width.WCAG 1.4.10
<li class="nav-item"><a class="nav-link" href="/government/"> Government </a></li>
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 11px at 320px width.WCAG 1.4.10
<form id="header-search" class="form-inline my-2 my-lg-0 search-form"><input class="form-control search-form__text-input" type="text" placeholder="Search" aria-label="Search"> <button class="btn btn-s
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumElement overflows viewport by 11px at 320px width.WCAG 1.4.10
<input class="form-control search-form__text-input" type="text" placeholder="Search" aria-label="Search">
Set max-width: 100% or use overflow-wrap to prevent horizontal overflow.
mediumContent clipped by 7px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<div class="grecaptcha-badge" data-style="bottomright" style="width: 256px; height: 60px; display: block; transition: right 0.3s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
lowBroken link: https://twitter.com/CityOfBoise returned status 403 Forbidden after 1 attempts
<a href="https://twitter.com/CityOfBoise">Twitter</a>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
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.