Cardona CT Lab
Accessibility Audit · Section 508 / WCAG 2.2 AA

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.

Page: cotality.com (Homepage) Audited: June 22, 2026 Re-verified: live DOM, this build Auditor: Jason Cardona
2
Critical
2
High
3
Medium
7
Findings

Executive summary

Seven homepage findings span two Critical, two High, and three Medium issues. The most pervasive — icon-font ligatures announced as literal text (arrow_forward, deployed_code) — affects navigation for every assistive-technology user and is still live. Cotality sells to government agencies, financial institutions, and insurance carriers, all bound by Section 508 and ADA digital-accessibility obligations, so these are product-quality issues with real legal exposure.

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. Several issues from the June 22 capture have since been partially or fully remediated on the live site — the mega-menus now expose aria-expanded, the search overlay carries role="dialog", and images now have alt. Each finding below shows where it stands today, not just where it stood at audit time.

Visual context

Cotality.com homepage above the fold: dark hero with a background video, the 'Intelligence beyond bounds' headline, a five-item mega-menu, a language switcher reading 'United States', and a search control.
A-09 · Language switcher
A-01 · Icon-font nav labels
A-03 · Auto-playing background video, no reduced-motion alternative
Live render of the Cotality homepage with three of the homepage findings located in context. The hero is a four-up background-video stage with no prefers-reduced-motion fallback; the headline renders grey-on-dark.

Findings · tap to expand

A-01

Icon-font text rendered as literal strings

CriticalWCAG 1.1.1 · 4.1.2508 §1194.22(a,l)Confirmed live
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

Counted in the live homepage markuparrow_forward ×12 (appended to CTA links) deployed_code ×6 (standalone in feature lists) arrow_back ×1 (primary navigation)
Representative CTA node<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.

Live status — Confirmed. Still present site-wide as of this build. This is the highest-frequency barrier and the easiest to mis-ship, since the ligature is invisible to sighted QA.
A-02

No skip-navigation link

CriticalWCAG 2.4.1508 §1194.22(o)Confirmed live
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

Search of the live homepage markupskip-to / href="#main" / .skip-link → 0 matches <main> landmark → 1 present

Recommended 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>.

Live status — Confirmed (with a head start). The skip link is still missing, but a <main> landmark now exists, so the remaining fix is a single template line targeting it. Roughly 2–4 hours.
A-03

Background video has no accessible alternative

HighWCAG 1.2.1 · 1.2.3 · 2.3.3508 §1194.22(a)Confirmed live
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

Hero media in the live markup<video> elements → present <track> (captions/desc) → 0 @media (prefers-reduced-motion) → 0 aria-label / aria-describedby → 0

Recommended 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.

Live status — Confirmed. No prefers-reduced-motion handling detected. The reduced-motion guard alone is a near-trivial CSS addition.
A-04

Inconsistent alt-text treatment

HighWCAG 1.1.1508 §1194.22(a)Partially remediated
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

Live homepage image audit<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.

Live status — Partially remediated. Every homepage <img> now carries an alt attribute and several SVGs have titles. The remaining gap is editorial quality (generic vs meaningful alt) rather than missing attributes.
A-07

Mega-menu ARIA expanded-state management

MediumWCAG 4.1.2508 §1194.22(l)Remediated since audit
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

Live navigation markup now reportsaria-expanded → 11 aria-haspopup → 7 aria-controls → 7
Live status — Remediated since audit. The current homepage nav exposes expanded/haspopup/controls state. Recording this honestly is the point of a re-verified report — the finding stood at capture time and has since been addressed.
A-08

Search overlay focus management

MediumWCAG 2.4.3 · 4.1.2508 §1194.22(l)Partially remediated
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

Live overlay markup now reportsrole="dialog" → present aria-modal → present type="search" → present

Recommended 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.

Live status — Partially remediated. The structural ARIA (role="dialog" + aria-modal) is now present; the runtime focus management needs interactive verification.
A-09

Language switcher not identified as a landmark

MediumWCAG 3.1.2 · 4.1.2508 §1194.22(l)Partially confirmed
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

Live header markuparia-label="…language/region…" → 0 aria-current → 3 present elsewhere

Recommended 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.

Live status — Partially confirmed. aria-current now appears in the header, but the switcher still lacks a purpose label, so its function is not announced.

Remediation roadmap

PriorityFindingsActionEffort
1 · NowA-02Add a skip link to the master template, targeting the existing <main>2–4 hrs
1 · NowA-03Add aria-hidden to decorative hero video + a prefers-reduced-motion ruleLow
2 · SprintA-01Hide icon-font ligatures from AT, label parents; migrate toward inline SVG1 sprint
2 · SprintA-09Label the region switcher; mark the active locale2–4 hrs
3 · VerifyA-08Keyboard pass on search-overlay focus trap + return-focus + live regionLow
3 · ProcessA-04Alt-text authoring guide so meaningful alt is the default, not a review step1 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.