City of Fargo — Score 881 | Sonde

Sonde

Accessibility Health Check

https://fargond.gov

Strong

April 28, 2026

Provided free by Sonde

3pages94findings19critical25high34medium16low31.3avg/page2,136elements65with findings97%ECR3m 22stotal1m 7sper page

Strong

Executive Summary

3pages94findings31.3avg/page2,136elements65with findings97%ECR3m 22stotal1m 7sper page

Top Findings

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

criticalInteractive element with role="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Skip Nav"WCAG 1.4.3
Element:
<a id="skip-navigation" href="#skip-nav">Skip Nav</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "225 4th Street N.Fargo, ND  58102"WCAG 1.4.3
Element:
<address>225 4th Street N.<br>Fargo, ND&nbsp;&nbsp;58102</address>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "FARGO CITY HALL"WCAG 1.4.3
Element:
<h3>FARGO CITY HALL</h3>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Apr"WCAG 1.4.3
Element:
<p class="month">Apr</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Live"WCAG 1.4.3
Element:
<a href="/live">Live</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1). Current ratio: 3.99:1 (need 4.5:1). Change foreground from #ffffff to #171616 (ratio: 4.5:1). Current ratio: 2.81:1 (need 4.5:1). Change foreground from #ffffff to #333333 (ratio: 4.5:1).

criticalInsufficient color contrast: 3.84:1 (required: 4.5:1 for normal text). Foreground: rgb(51, 51, 51), background: rgb(18, 163, 83). Text: "Online Payments"WCAG 1.4.3
Element:
<div class="icon">Online Payments</div>
Sonde Fix Plan

Current ratio: 3.84:1 (need 4.5:1). Change foreground from #333333 to #282727 (ratio: 4.5:1). Current ratio: 1.08:1 (need 4.5:1). Change foreground from #333333 to #a1a1a0 (ratio: 4.5:1). Or change background from #0d3c56 to #000000. Current ratio: 2.92:1 (need 4.5:1). Change foreground from #333333 to #0d0c0c (ratio: 4.5:1). Current ratio: 2.78:1 (need 4.5:1). Change foreground from #333333 to #040404 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "225 4th Street N.Fargo, ND  58102"WCAG 1.4.3
Element:
<address>225 4th Street N.<br>Fargo, ND&nbsp;&nbsp;58102</address>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "FARGO CITY HALL"WCAG 1.4.3
Element:
<h3>FARGO CITY HALL</h3>
Sonde Fix Plan

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
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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.

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.63 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #d16753, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<a href="/news-events/calendar" data-key="2">City Calendar</a>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Page: /
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.27 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #cf7916, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<h2>Visitors</h2>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 4.18 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #188e4d, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<div class="icontext">Online <br>Payments</div>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum Current ratio: 3.29:1 (need 4.5:1). Change foreground from #ffffff to #282727 (ratio: 4.5:1). Current ratio: 2.50:1 (need 4.5:1). Change foreground from #ffffff to #3b3a3a (ratio: 4.5:1). Current ratio: 4.32:1 (need 4.5:1). Change foreground from #ffffff to #0d0c0c (ratio: 4.5:1).

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.28 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #cf7917, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<div class="icontext">Land <br>Parcels</div>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 4.17 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #188e4d, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<h2>Residents</h2>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum Current ratio: 3.29:1 (need 4.5:1). Change foreground from #ffffff to #282727 (ratio: 4.5:1). Current ratio: 2.50:1 (need 4.5:1). Change foreground from #ffffff to #3b3a3a (ratio: 4.5:1). Current ratio: 3.99:1 (need 4.5:1). Change foreground from #ffffff to #171616 (ratio: 4.5:1).

highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (101.5px by 20.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
Element:
<a class="read-more" href="/news-events/city-news-releases/post-detail?id=69ebabbbc1a97ba6155903f8">Read Story&nbsp;›</a>
Sonde Fix Plan

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 (102.7px by 20.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
Element:
<a class="read-more" href="https://youtu.be/LgaK7m90Suk?si=ghfwh3WSZjiI193R">View Video&nbsp;›</a>
Sonde Fix Plan

Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Page: /live
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highFocus jumps backward from "Contact Your" to "#slider > ul > li:nth-of-type(1) > a" (visual distance: 448px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(7) > a" (visual distance: 404px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(8) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(4) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(5) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(3) > a" (visual distance: 404px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(2) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(6) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "701.476.5999." to "Get Directions ›" (visual distance: 528px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Get Directions ›</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumPage has 2 "complementary" landmarks but only 0 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
Element:
<!-- 2 complementary landmarks, 0 labeled -->
Sonde Fix Plan

Add unique aria-label or aria-labelledby to each "complementary" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="green-heading">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<div class="caption"><a class="heading" id="youtubetitle" href="https://youtu.be/M93M--abI8c?si=FNlGNIX19QMM_Xun">Featured Video&nbsp;›</a><p id="youtubedesc"></p><hr><a class="read-more" href="https:...
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<section class="homepage" id="home-hero">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="darkblue-heading">
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Page: /
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/ Ensure that the page, or at least one of its frames contains a level-one heading. 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
Page: /
Element:
<article class="blue-heading">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="orange-heading">
Sonde Fix Plan

Ensure all page content is contained by landmarks. 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
Page: /
Element:
<aside class="home-news-events" id="news-events">
Sonde Fix Plan

Ensure landmarks are unique. 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
Page: /live
Element:
<ul id="breadcrumbs"><li><a href="/">Home</a><span>›</span></li><li>Live</li></ul>
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Page: /live
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/ Ensure that the page, or at least one of its frames contains a level-one heading. 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
Page: /live
Element:
<div class="blue-transparent-bg" id="hero"><h2>Live</h2><img id="hero-image" src="https://download.fargond.gov/resize/878/200/0/live.jpg" alt="Live Hero Image"></div>
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /live
Element:
<div class="row">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<ul id="breadcrumbs"><li><a href="/">Home</a><span>›</span></li><li><a href="/live">Live</a><span>›</span></li><li>Access Television</li></ul>
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section class="threeColumn" id="content">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="right-sidebar">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="blue-transparent-bg" id="hero">
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 108, 158), text: rgb(51, 51, 51)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/">Home</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(255, 255, 255), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live">Live</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/flooding">Flooding &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/health">Health &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/cass-clay-alerts">Cass Clay Alerts &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/emergency-preparedness">Emergency Preparedness &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/housing">Housing &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/access-tv">Access TV &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/homelessness">Homelessness &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://fargo-nd.civilspace.io/en">FargoStreets &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/garbage-recycling">Garbage &amp; Recycling &nbsp;›</a>
Sonde Fix Plan

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

mediumPage requires horizontal scrolling at 320px width (5px overflow). Content should reflow without horizontal scrolling at this width.WCAG 1.4.10
Element:
<html>
Sonde Fix Plan

Use responsive CSS (max-width, flex-wrap, media queries) to ensure content reflows at narrow widths.

mediumContent clipped by 65px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<span class="sr-only">Access Television</span>
Sonde Fix Plan

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

mediumMissing X-Frame-Options header
Page: /
Sonde Fix Plan

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

mediumMissing X-Frame-Options header
Page: /live
Sonde Fix Plan

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

mediumMissing X-Frame-Options header
Sonde Fix Plan

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

lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Page: /
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowLink timeout: http://www.fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /
Element:
<a href="http://www.fargoone.com/">FargoOne(3-1-1)</a>
lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Page: /
Element:
<a href="https://twitter.com/thecityoffargo">X IconConnecton X ›</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Page: /live
Element:
<a href="https://twitter.com/thecityoffargo">Twitter</a>
lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Page: /live
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /live
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Element:
<a href="https://twitter.com/thecityoffargo">Twitter</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
Page: /
Element:
<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
Page: /
Element:
<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
Page: /live
Element:
<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
Page: /live
Element:
<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
Element:
<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
Element:
<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

fargond.gov45findings
criticalInteractive element with role="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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="link" has no accessible name. Screen readers cannot identify this control.WCAG 4.1.2
Element:
<!-- a11y: role="link" -->
Sonde Fix Plan

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: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Skip Nav"WCAG 1.4.3
Element:
<a id="skip-navigation" href="#skip-nav">Skip Nav</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "225 4th Street N.Fargo, ND  58102"WCAG 1.4.3
Element:
<address>225 4th Street N.<br>Fargo, ND&nbsp;&nbsp;58102</address>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "FARGO CITY HALL"WCAG 1.4.3
Element:
<h3>FARGO CITY HALL</h3>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Apr"WCAG 1.4.3
Element:
<p class="month">Apr</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Live"WCAG 1.4.3
Element:
<a href="/live">Live</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1). Current ratio: 3.99:1 (need 4.5:1). Change foreground from #ffffff to #171616 (ratio: 4.5:1). Current ratio: 2.81:1 (need 4.5:1). Change foreground from #ffffff to #333333 (ratio: 4.5:1).

criticalInsufficient color contrast: 3.84:1 (required: 4.5:1 for normal text). Foreground: rgb(51, 51, 51), background: rgb(18, 163, 83). Text: "Online Payments"WCAG 1.4.3
Element:
<div class="icon">Online Payments</div>
Sonde Fix Plan

Current ratio: 3.84:1 (need 4.5:1). Change foreground from #333333 to #282727 (ratio: 4.5:1). Current ratio: 1.08:1 (need 4.5:1). Change foreground from #333333 to #a1a1a0 (ratio: 4.5:1). Or change background from #0d3c56 to #000000. Current ratio: 2.92:1 (need 4.5:1). Change foreground from #333333 to #0d0c0c (ratio: 4.5:1). Current ratio: 2.78:1 (need 4.5:1). Change foreground from #333333 to #040404 (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
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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.

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.63 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #d16753, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<a href="/news-events/calendar" data-key="2">City Calendar</a>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Page: /
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.27 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #cf7916, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<h2>Visitors</h2>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 4.18 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #188e4d, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<div class="icontext">Online <br>Payments</div>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum Current ratio: 3.29:1 (need 4.5:1). Change foreground from #ffffff to #282727 (ratio: 4.5:1). Current ratio: 2.50:1 (need 4.5:1). Change foreground from #ffffff to #3b3a3a (ratio: 4.5:1). Current ratio: 4.32:1 (need 4.5:1). Change foreground from #ffffff to #0d0c0c (ratio: 4.5:1).

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 3.28 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #cf7917, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<div class="icontext">Land <br>Parcels</div>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum

highElements must meet minimum color contrast ratio thresholds: Fix any of the following: Element has insufficient color contrast of 4.17 between the foreground and shadow color (foreground color: #ffffff, text-shadow color: #188e4d, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1WCAG 1.4.3
Element:
<h2>Residents</h2>
Sonde Fix Plan

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. See: https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum Current ratio: 3.29:1 (need 4.5:1). Change foreground from #ffffff to #282727 (ratio: 4.5:1). Current ratio: 2.50:1 (need 4.5:1). Change foreground from #ffffff to #3b3a3a (ratio: 4.5:1). Current ratio: 3.99:1 (need 4.5:1). Change foreground from #ffffff to #171616 (ratio: 4.5:1).

highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size (101.5px by 20.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
Element:
<a class="read-more" href="/news-events/city-news-releases/post-detail?id=69ebabbbc1a97ba6155903f8">Read Story&nbsp;›</a>
Sonde Fix Plan

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 (102.7px by 20.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
Element:
<a class="read-more" href="https://youtu.be/LgaK7m90Suk?si=ghfwh3WSZjiI193R">View Video&nbsp;›</a>
Sonde Fix Plan

Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum

highFocus jumps backward from "Contact Your" to "#slider > ul > li:nth-of-type(1) > a" (visual distance: 448px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(7) > a" (visual distance: 404px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(8) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(4) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(5) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(3) > a" (visual distance: 404px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(2) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "View More ›" to "#slider > ul > li:nth-of-type(6) > a" (visual distance: 415px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a></a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumPage has 2 "complementary" landmarks but only 0 have distinct labels. Screen reader users cannot distinguish between them.WCAG 1.3.1
Element:
<!-- 2 complementary landmarks, 0 labeled -->
Sonde Fix Plan

Add unique aria-label or aria-labelledby to each "complementary" landmark so screen readers can differentiate them. Example: <nav aria-label="Primary">, <nav aria-label="Footer">.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="green-heading">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<div class="caption"><a class="heading" id="youtubetitle" href="https://youtu.be/M93M--abI8c?si=FNlGNIX19QMM_Xun">Featured Video&nbsp;›</a><p id="youtubedesc"></p><hr><a class="read-more" href="https:...
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<section class="homepage" id="home-hero">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="darkblue-heading">
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Page: /
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/ Ensure that the page, or at least one of its frames contains a level-one heading. 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
Page: /
Element:
<article class="blue-heading">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<article class="orange-heading">
Sonde Fix Plan

Ensure all page content is contained by landmarks. 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
Page: /
Element:
<aside class="home-news-events" id="news-events">
Sonde Fix Plan

Ensure landmarks are unique. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumMissing X-Frame-Options header
Page: /
Sonde Fix Plan

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

lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Page: /
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowLink timeout: http://www.fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /
Element:
<a href="http://www.fargoone.com/">FargoOne(3-1-1)</a>
lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Page: /
Element:
<a href="https://twitter.com/thecityoffargo">X IconConnecton X ›</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
Page: /
Element:
<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
Page: /
Element:
<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
/live/access-tv26findings
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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.

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "701.476.5999." to "Get Directions ›" (visual distance: 528px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Get Directions ›</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<ul id="breadcrumbs"><li><a href="/">Home</a><span>›</span></li><li><a href="/live">Live</a><span>›</span></li><li>Access Television</li></ul>
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section class="threeColumn" id="content">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<section id="right-sidebar">
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="blue-transparent-bg" id="hero">
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(255, 255, 255), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live">Live</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/flooding">Flooding &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/health">Health &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/cass-clay-alerts">Cass Clay Alerts &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/emergency-preparedness">Emergency Preparedness &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/housing">Housing &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/access-tv">Access TV &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/homelessness">Homelessness &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://fargo-nd.civilspace.io/en">FargoStreets &nbsp;›</a>
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(13, 60, 86), text: rgb(0, 0, 0)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/live/garbage-recycling">Garbage &amp; Recycling &nbsp;›</a>
Sonde Fix Plan

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

mediumContent clipped by 65px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<span class="sr-only">Access Television</span>
Sonde Fix Plan

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

mediumMissing X-Frame-Options header
Sonde Fix Plan

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

lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Element:
<a href="https://twitter.com/thecityoffargo">Twitter</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
Element:
<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
Element:
<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
/live17findings
criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "225 4th Street N.Fargo, ND  58102"WCAG 1.4.3
Element:
<address>225 4th Street N.<br>Fargo, ND&nbsp;&nbsp;58102</address>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "FARGO CITY HALL"WCAG 1.4.3
Element:
<h3>FARGO CITY HALL</h3>
Sonde Fix Plan

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
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

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.

highForm elements should have a visible label: Fix all of the following: Only title used to generate label for form element
Page: /live
Element:
<input type="search" name="search" placeholder="Search..." autocomplete="off" title="Search" value="">
Sonde Fix Plan

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes. See: https://www.w3.org/WAI/WCAG22/quickref/

highFocus jumps backward from "#searchForm > input:nth-of-type(1)" to "#searchForm > input:nth-of-type(2)" (visual distance: 5001px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<input></input>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /live
Element:
<ul id="breadcrumbs"><li><a href="/">Home</a><span>›</span></li><li>Live</li></ul>
Sonde Fix Plan

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

mediumDocument should have one main landmark: Fix all of the following: Document does not have a main landmark
Page: /live
Element:
<html lang="en" style="height: 100%;">
Sonde Fix Plan

Ensure the document has a main landmark. See: https://www.w3.org/WAI/WCAG22/quickref/ Ensure that the page, or at least one of its frames contains a level-one heading. 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
Page: /live
Element:
<div class="blue-transparent-bg" id="hero"><h2>Live</h2><img id="hero-image" src="https://download.fargond.gov/resize/878/200/0/live.jpg" alt="Live Hero Image"></div>
Sonde Fix Plan

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

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /live
Element:
<div class="row">
Sonde Fix Plan

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

mediumLink is distinguished from surrounding text only by color (link: rgb(0, 108, 158), text: rgb(51, 51, 51)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="/">Home</a>
Sonde Fix Plan

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

mediumPage requires horizontal scrolling at 320px width (5px overflow). Content should reflow without horizontal scrolling at this width.WCAG 1.4.10
Element:
<html>
Sonde Fix Plan

Use responsive CSS (max-width, flex-wrap, media queries) to ensure content reflows at narrow widths.

mediumMissing X-Frame-Options header
Page: /live
Sonde Fix Plan

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

lowBroken link: https://twitter.com/thecityoffargo returned status 403 Forbidden after 1 attempts
Page: /live
Element:
<a href="https://twitter.com/thecityoffargo">Twitter</a>
lowLink timeout: https://fargond.gov/live/library did not respond within 5000ms after 5 attempts
Page: /live
Element:
<a href="https://fargond.gov/live/library">Library  ›</a>
lowLink timeout: http://fargoone.com/ did not respond within 5000ms after 8 attempts
Page: /live
Element:
<a href="http://fargoone.com/">FargoOne (3-1-1)</a>
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
Page: /live
Element:
<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
Page: /live
Element:
<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

Methodology

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

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

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

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

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

Enter Mission Control

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

Nominate a Site for the Daylight Index

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

Nominate a Site →

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

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

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