Beyond legal exposure, an inaccessible website quietly excludes potential clients. Roughly 1 in 4 adults in the United States lives with some form of disability. Missing alt text means a blind visitor cannot understand your practice area images. An unlabeled form input means a screen reader user cannot complete your contact form. The absence of a skip link means a keyboard-only user must tab through thirty or more navigation links before reaching your content.

So we set out to measure the floor. This study audits the homepage source code of 303 law firm websites across 25 high-growth, mid-size U.S. markets, testing compliance with the core WCAG 2.1 success criteria that can be evaluated from static HTML alone.

Methodology

We collected the HTML source code of 303 law firm homepages drawn from Google organic search results across 25 markets and 2 practice areas. For each page we ran automated checks against six WCAG-related dimensions:

  • Image alt text (SC 1.1.1): counted total images, images with alt text, images with empty alt (decorative), and images missing alt entirely. Coverage is the percentage of images carrying any alt attribute, including empty.
  • Form label association (SC 1.3.1, 4.1.2): identified all visible form inputs (text, email, tel, textarea, select) and checked whether each was associated with a label via <label for="">, aria-label, aria-labelledby, or a wrapping <label> element.
  • Heading hierarchy (SC 1.3.1): parsed all heading elements (H1 to H6) to check for a single H1, correct nesting (no skipped levels such as H2 to H4), and overall heading count.
  • Skip navigation link (SC 2.4.1): checked for a skip link, an anchor near the top of the page that jumps to main content.
  • Language attribute (SC 3.1.1): verified the presence of a lang attribute on the <html> element.
  • ARIA usage: counted ARIA roles and attributes to measure the extent of explicit accessibility markup.

All analysis was performed on raw HTML source, not the rendered DOM. We did not evaluate criteria that require JavaScript execution, computed styles, or user interaction, such as color contrast, focus management, or keyboard navigation. Our results represent the accessibility floor: what is baked into the HTML before any script runs.

The numbers at a glance

59.2%
Avg alt text coverage
30%
Have skip links
46.2%
Skip heading levels
98%
Have lang attribute

Image alt text

WCAG Success Criterion 1.1.1 requires that every non-decorative image carry a text alternative. For a law firm site, that means each staff photo, office image, practice area graphic, and logo should have descriptive alt text. Decorative images should carry an empty alt attribute (alt="") so screen readers skip them entirely.

Across 303 sites, the average alt text coverage rate is 59.2 percent. Roughly 4 in 10 images on the typical law firm homepage lack any alt attribute at all.

The distribution is bimodal. At the top end, 56 sites (18.5 percent) reach 100 percent coverage. At the bottom, 11 sites (3.6 percent) sit at 0 percent, not a single image carries alt text. The majority fall somewhere between, with partial coverage that typically reflects properly tagged hero images alongside untagged thumbnails, icons, or background elements rendered as <img> tags.

The most common offenders are predictable: staff headshots without names in the alt text, decorative separator images missing empty alt attributes, and third-party widget images such as chat bubbles and badge icons injected with no accessibility markup.

Form label association

The contact form is the conversion engine of a law firm website. If a screen reader user cannot tell which field is "Name," "Email," or "Phone," they cannot submit an inquiry. WCAG requires that every form input be programmatically associated with a label (SC 1.3.1 and 4.1.2).

Of the 303 sites analyzed, 199 (65.7 percent) carry at least one visible form on the homepage. Among those 199 sites with forms:

  • 120 sites (60.3 percent) label every input. These sites use <label for="">, aria-label, aria-labelledby, or wrapping <label> elements correctly.
  • The average labeling rate is 76.2 percent. Across all form inputs on all 199 sites, roughly three-quarters are properly associated with a label.
  • 79 sites (39.7 percent) have at least one unlabeled input. The most common failure is placeholder text standing in as the only label, visually present but invisible to assistive technology.

The pattern is clear. Firms using a proper form builder or framework tend to get labels right automatically. Firms with custom-coded forms or older templates lean on placeholder text alone, which does not satisfy WCAG.

Heading hierarchy

Proper heading structure serves two audiences at once: screen reader users who navigate by headings to scan a page, and search engines that read the hierarchy to understand structure. WCAG SC 1.3.1 requires that the structure of content be programmatically determinable.

The correct pattern is simple. One H1 per page (the title), then H2s for major sections, H3s for subsections, and onward with no skipped levels. Here is how 303 law firm homepages performed:

Heading hierarchy across 303 homepages
Heading patternSitesPercentage
Single H1 (correct)20969%
No H1 at all6421.1%
Multiple H1s309.9%

While 69 percent of sites correctly use a single H1, the remaining 31 percent carry fundamental structural problems. Having no H1, as 21.1 percent of sites do, leaves the page without a clear programmatic title. Multiple H1s (9.9 percent) dilute the primary heading and confuse both screen readers and crawlers.

Level skipping compounds the problem. 46.2 percent of all sites jump from one heading level to a non-sequential one, for example H2 directly to H4, skipping H3. That breaks the outline assistive technology relies on for navigation. The average law firm homepage contains 23 heading elements, so a broken hierarchy reaches a meaningful share of page content.

Navigation accessibility

Skip navigation links

A skip navigation link is a hidden (or visually hidden) anchor at the top of the page that lets keyboard users bypass the main navigation and jump straight to content. It is one of the simplest features to implement, a single anchor tag, and it is explicitly required by WCAG SC 2.4.1: "A mechanism is available to bypass blocks of content that are repeated on multiple Web pages."

Only 91 of 303 sites (30 percent) include one. The remaining 70 percent force keyboard-only users to tab through every navigation item, dropdown, and utility link on every single page load before reaching the main content. On a typical law firm site carrying 20 to 40 navigation links, that is 20 to 40 extra tab presses on every page.

ARIA landmarks and roles

ARIA (Accessible Rich Internet Applications) attributes add semantic information for assistive technology. Native HTML5 landmarks (main, nav, header, footer) are preferred, but ARIA roles fill gaps where the HTML semantics fall short.

79.5 percent of sites use at least one ARIA role. The average site carries 30.7 ARIA role attributes and 32.8 total ARIA attributes. The mere presence of ARIA does not guarantee correct usage, however; misapplied ARIA can make accessibility worse, not better.

The most common ARIA roles across the 303 sites:

Most common ARIA roles
ARIA roleSites usingPercentage
button8829%
main7123.4%
presentation5919.5%
menu4815.8%
menuitem4414.5%
navigation4314.2%
dialog3712.2%
img3411.2%
menubar3310.9%
search309.9%

The role="button" is the most common at 29 percent, often applied to non-button elements that behave as buttons. The role="main" landmark appears on only 23.4 percent of sites, which means more than three-quarters do not explicitly mark their main content region, a missed opportunity for screen reader navigation. The role="presentation" at 19.5 percent signals sites stripping semantic meaning from elements, typically decorative tables or layout wrappers.

Link text quality

Generic link text such as "click here," "read more," or "learn more" fails WCAG SC 2.4.4, which requires the purpose of each link to be clear from the link text alone. Screen reader users who tab through links hear only that text, so "click here" in isolation is meaningless.

This is one area where the legal industry performs well. Only 5.6 percent of sites contain any generic link text, with an average generic-link rate of just 0.7 percent across all sampled links. The industry's instinct toward descriptive labels ("Schedule a Free Consultation," "View Our Practice Areas") naturally produces accessible link text.

Limitations

  • Source code only: we analyzed raw HTML, not the rendered DOM after JavaScript runs. Sites that build accessibility features dynamically (via React, Angular, or overlay widgets) may have better runtime accessibility than a source-level analysis can reflect.
  • Homepage only: we tested only the homepage of each site. Interior pages such as practice area pages, attorney bios, and blog posts may differ.
  • Automated checks only: automated testing catches roughly 30 to 40 percent of WCAG issues. Manual testing is required to evaluate color contrast, keyboard navigation, focus order, screen reader compatibility, and the quality of alt text.
  • Point-in-time snapshot: all data was collected in a single pass. Sites may have changed since.
  • Alt text quality not assessed: we measured whether alt text exists, not whether it is meaningful. An image with alt="image" technically has alt text but tells a screen reader user nothing.
  • ARIA correctness not evaluated: we counted ARIA usage but did not validate whether roles and attributes were applied correctly. Incorrect ARIA can be worse than none.

Full methodology details

Data collection

Homepage HTML was collected from 303 law firm websites identified through Google organic search results across 25 high-growth, mid-size U.S. markets and 2 practice areas (personal injury and family law). Each site's raw HTML source was fetched and stored for analysis.

Image alt text analysis

All <img> elements were extracted from each page. For each image we recorded total count, images with non-empty alt attributes, images with empty alt attributes (alt=""), and images with no alt attribute at all. Coverage is calculated as (images with any alt attribute / total images) times 100.

Form label analysis

All visible form inputs (input[type=text], input[type=email], input[type=tel], input[type=number], textarea, select) were identified, excluding hidden inputs and submit buttons. For each input we checked four labeling methods: explicit <label for="id">, aria-label, aria-labelledby, or a wrapping <label> element. An input counted as labeled if any of these was present.

Heading analysis

All heading elements (H1 through H6) were extracted in document order. We checked total heading count, H1 count (to determine single H1, no H1, or multiple H1), and sequential level ordering, flagging any jump of more than one level between consecutive headings as a level skip.

Skip link detection

We searched for anchor elements near the top of the <body> with href values pointing to in-page targets (#main, #content, #main-content, and similar) and text content indicating a skip function ("skip to content," "skip navigation," and similar).

Language attribute

Checked for the presence of a lang attribute on the <html> element. Any non-empty value counted as present.

ARIA analysis

Counted all elements with role attributes and all elements with any aria-* attributes. Extracted the unique role values per site and aggregated across all 303 sites to determine the most common roles and the overall ARIA adoption rate.

Link text analysis

Sampled up to 20 links per page and classified link text as generic if it matched common patterns: "click here," "read more," "learn more," "more," "here," "link," and similar. Calculated the percentage of generic links per site.

What this means for law firms

Based on the data, the highest-impact fixes are clear, and none of them require a redesign or a third-party tool. Add alt text to all content images: 40.8 percent of sites sit below 50 percent coverage. Associate every form input with a label: 79 of 199 sites with forms have at least one unlabeled input, which breaks both screen readers and voice control. Fix the heading hierarchy by adding a single H1 where one is missing (21.1 percent of sites) and removing level skips (46.2 percent of sites). Add a skip navigation link, since only 30 percent of sites have one.

None of this is exotic. It is the difference between a site assembled from a template and a site engineered to a standard. Every Nitrosite ships WCAG 2.1 AA accessible by default, because accessibility is not a plugin bolted on after launch; it is part of the architecture. And it is the kind of structural deficit our method surfaces before a single page is built. Before any design work begins, NitroCMS unifies five data sources, Google Analytics, Search Console, Google Ads, independent SEO and competitor intelligence, and the Constellate Analytics Engine, our first-party analytics, and hands a technical audit of up to 500 pages to Claude Opus, which flags missing alt text, broken headings, and unlabeled inputs alongside everything else. Evidence over guesswork.