Cotality.com homepage accessibility audit
A manual DOM-level review of the Cotality homepage against Section 508 and WCAG 2.2 Level AA, scored by user impact, scope, and fix effort - then re-verified against the live page so every finding carries its current status.
Executive summary
Seven homepage findings span two Critical, two High, and three Medium issues. In the June 22, 2026 re-verification, the most pervasive issue was icon-font ligatures announced as literal text (arrow_forward, deployed_code). It affected navigation for assistive-technology users. Cotality serves government agencies, financial institutions, and insurance carriers, so accessibility defects create product-quality, procurement, and legal risk.
An accessibility report should itself be accessible. This page passes WCAG AA in Day, Night, and High-Contrast modes - try the toggle, top right.
Re-verification matters. By the June 22 capture, several issues had been partially or fully remediated on the live site: the mega-menus exposed aria-expanded, the search overlay carried role="dialog", and images had alt. Each finding below records its status at that dated review, not a claim about the current site.
Visual context
prefers-reduced-motion fallback; the headline renders grey-on-dark.Findings · tap to expand
A-01
Icon-font text rendered as literal strings
9.5
Description
Material Icons are implemented as icon-font ligatures. When CSS fails or assistive technology reads the DOM, the raw ligature text is announced verbatim. A screen-reader user hears "arrow underscore forward" and "deployed underscore code" as navigation labels.
Evidence - live DOM
arrow_forward ×12 (appended to CTA links)
deployed_code ×6 (standalone in feature lists)
arrow_back ×1 (primary navigation)<a …><div style="transform-style: preserve-3d;">arrow_forward</div></a>Recommended fix
Add aria-hidden="true" to icon elements and give the parent interactive element a visible label or aria-label. Prefer inline SVG, which supports <title> and aria-hidden natively. Template-level change across nav, CTAs, and feature lists.
A-02
No skip-navigation link
9.2
Description
No skip-to-main-content link exists. The primary navigation holds five mega-menus with dozens of nested links each, so a keyboard-only user tabs through the entire nav on every page load before reaching content. WCAG 2.4.1 (Bypass Blocks) is a Level A requirement - the lowest bar for compliance.
Evidence - live DOM
skip-to / href="#main" / .skip-link → 0 matches
<main> landmark → 1 presentRecommended fix
Add a visually-hidden, focus-visible skip link as the first focusable element: <a href="#main-content" class="skip-link">Skip to main content</a>, pointing at the existing <main>.
<main> landmark existed, so the remaining fix was a single template line targeting it. Estimated effort: 2-4 hours.
A-03
Background video has no accessible alternative
8.1
Description
The hero uses auto-playing background video. There is no poster, captions, audio description, reduced-motion handling, or label. Motion content can trigger vestibular discomfort, and blind users get no indication of what the animation conveys.
Evidence - live DOM
<video> elements → present
<track> (captions/desc) → 0
@media (prefers-reduced-motion) → 0
aria-label / aria-describedby → 0Recommended fix
If decorative, add aria-hidden="true" to the video containers and a prefers-reduced-motion rule that pauses or hides the animation. If informational, provide a text alternative describing what it communicates.
prefers-reduced-motion handling was detected in the dated capture. The reduced-motion guard alone was a small CSS addition.
A-04
Inconsistent alt-text treatment
7.8
Description
At audit time, images showed mixed treatment - some decorative images with empty alt (correct), others with none (screen readers announce the filename), and icons with generic alt such as "dropdown menu icon".
Evidence - live DOM
<img> total → 10, all with an alt attribute
inline SVG <title> → 4
language-switcher region label → still absent (see A-09)Recommended fix
Keep the pattern consistent: decorative images get alt="", functional images get descriptive alt, and icon images adjacent to visible labels get aria-hidden="true". Bake an alt-text rule into the content-authoring workflow.
<img> in the dated capture carried an alt attribute and several SVGs had titles. The remaining gap was editorial quality rather than missing attributes.
A-07
Mega-menu ARIA expanded-state management
5.8
Description
At audit time the five mega-menu triggers exposed no aria-expanded, aria-haspopup, or aria-controls, so screen-reader users had no signal that a trigger opened a submenu or whether it was open.
Evidence - live DOM
aria-expanded → 11
aria-haspopup → 7
aria-controls → 7
A-08
Search overlay focus management
5.4
Description
The search overlay opens from a search icon. At audit time it carried no modal semantics and no evident focus trap, so keyboard users could tab behind it into the page below.
Evidence - live DOM
role="dialog" → present
aria-modal → present
type="search" → presentRecommended fix
With dialog semantics in place, confirm the behavioral half: move focus to the input on open, trap focus while open, return focus to the trigger on close, and announce results via an aria-live region. These are not observable from static DOM and warrant a keyboard pass.
role="dialog" + aria-modal) was present in the dated capture; runtime focus management still required interactive verification.
A-09
Language switcher not identified as a landmark
4.9
Description
The region/locale switcher (reading "United States") uses a globe icon and offers six regional variants. It has no aria-label stating its purpose, and it appears twice per page with identical structure.
Evidence - live DOM
aria-label="…language/region…" → 0
aria-current → 3 present elsewhereRecommended fix
Add aria-label="Select region and language" to the switcher container, aria-current="true" to the active locale, and aria-hidden="true" to the decorative globe. Give the duplicate instances distinct labels.
aria-current appeared in the dated header capture, but the switcher lacked a purpose label, so its function was not announced.Remediation roadmap
| Priority | Findings | Action | Effort |
|---|---|---|---|
| 1 · Now | A-02 | Add a skip link to the master template, targeting the existing <main> | 2–4 hrs |
| 1 · Now | A-03 | Add aria-hidden to decorative hero video + a prefers-reduced-motion rule | Low |
| 2 · Sprint | A-01 | Hide icon-font ligatures from AT, label parents; migrate toward inline SVG | 1 sprint |
| 2 · Sprint | A-09 | Label the region switcher; mark the active locale | 2–4 hrs |
| 3 · Verify | A-08 | Keyboard pass on search-overlay focus trap + return-focus + live region | Low |
| 3 · Process | A-04 | Alt-text authoring guide so meaningful alt is the default, not a review step | 1 sprint |
Compliance posture
Legal exposure
The Critical findings (A-01, A-02) are Level A violations - the minimum bar, and the most commonly cited issues in ADA Title III web-accessibility litigation, which rose sharply between 2018 and 2024.
Government and regulated sectors
Federal and state customers are bound by Section 508. A supplier shipping inaccessible tooling creates downstream compliance and procurement risk for the buyer.
Enterprise procurement
Large buyers increasingly require a VPAT. The current findings would require disclosure, and visible gaps weaken evaluation against accessible competitors.
About this audit
Conducted by manual inspection of the rendered homepage DOM against WCAG 2.2 Level A/AA and Section 508 (29 U.S.C. §794d, 2017 ICT Refresh). Scope is limited to markup-observable issues on the homepage and re-verified against the live page for this build. A full audit would add automated scanning (axe, Lighthouse), screen-reader testing (NVDA/JAWS/VoiceOver), keyboard-only navigation, color-contrast measurement, and interactive-component testing.
Each finding is scored 0–10 as a weighted composite: user impact (40%), frequency and scope (30%), and inverse fix-complexity (30%). Critical 9.0–10, High 7.0–8.9, Medium 4.0–6.9, Low 1.0–3.9.