Glossary
Accessibility errors, explained
Every failure our scanner (and Lighthouse, and axe) can report, in plain words: what it means, who it leaves out and how to fix it, with code and without.
- "Skip to content" link is broken skip-linkThe shortcut keyboard users rely on points nowhere.people who can't use a mouse
- A button inside a button nested-interactiveTwo clickable things are nested; screen readers and keyboards can only reach one.blind people (screen readers) · people who can't use a mouse
- Accessibility attributes used incorrectly aria-allowed-attrSome accessibility markup is contradictory, so assistive technology may ignore or misread it.blind people (screen readers)
- Audio that plays by itself no-autoplay-audioSound starts automatically and drowns out screen readers.blind people (screen readers) · people with cognitive disabilities
- Audio without a transcript audio-captionDeaf visitors get nothing from the audio.deaf people
- Blinking text blinkBlinking content can't be paused and can trigger seizures or distraction.people with cognitive disabilities
- Bold text used as headings p-as-headingTitles are just bold paragraphs, so screen readers can't navigate by them.blind people (screen readers) · people with cognitive disabilities
- Broken accessibility references aria-valid-attr-valueAn accessibility attribute points to something that doesn't exist.blind people (screen readers)
- Buttons too small to tap target-sizeSome buttons or links are smaller than a fingertip. Older customers and people with tremors miss them.people who can't use a mouse · mobile users
- Buttons with no name button-nameIcon-only buttons (menu, cart, close) are read as just "button". A blind customer can't tell the cart from the close button.blind people (screen readers) · people who can't use a mouse
- Clickable image map that needs a mouse server-side-image-mapAn old-style image map can only be used with a mouse.people who can't use a mouse · blind people (screen readers)
- Clickable image regions without a name area-altAreas of an image map have no text, so screen readers can't say where each one goes.blind people (screen readers)
- Custom buttons without a name aria-command-nameElements that behave like buttons or links have no name for screen readers.blind people (screen readers)
- Custom inputs without a name aria-input-field-nameA custom text field, slider or combobox has no name for screen readers.blind people (screen readers)
- Definition items outside a list dlitemTerms or definitions sit outside their list.blind people (screen readers)
- Definition lists built incorrectly definition-listA term/definition list has stray elements, so it is read wrongly.blind people (screen readers)
- Drop-down menus without a label select-nameA drop-down (size, city, quantity) is announced without saying what it selects.blind people (screen readers)
- Duplicate keyboard shortcuts accesskeysTwo elements share the same shortcut key; only one works.people who can't use a mouse
- Elements hidden but still interactive presentation-role-conflictAn element was marked as decorative but is focusable or has a name, which confuses assistive technology.blind people (screen readers)
- Elements with the wrong role aria-allowed-roleAn element claims to be something it isn't (a link that says it's a button). Confusing for screen readers.blind people (screen readers)
- Embedded content keyboard users can't reach frame-focusable-contentA frame is hidden from the keyboard but contains things to interact with.people who can't use a mouse
- Embedded content we could not test frame-testedAn embedded frame (map, video, form) could not be scanned; it may hide additional issues.blind people (screen readers)
- Embedded content without a title frame-titleAn embedded map, video or form is announced as "frame" with no hint of what it is.blind people (screen readers)
- Embedded frames with the same title frame-title-uniqueSeveral frames are announced identically.blind people (screen readers)
- Embedded objects without a description object-altAn embedded file (PDF, animation) has no text alternative.blind people (screen readers)
- Empty headings empty-headingA heading with no text is announced as "heading" and confuses navigation.blind people (screen readers)
- Fields labelled only by a tooltip label-title-onlyThe field's only label is a hover tooltip, which screen readers and touch users may never get.blind people (screen readers)
- Fields with two labels form-field-multiple-labelsScreen readers may read the wrong one.blind people (screen readers)
- Focusable elements that aren't controls focus-order-semanticsPlain elements receive keyboard focus without being buttons or links; users land on something that does nothing.people who can't use a mouse · blind people (screen readers)
- Footer nested inside another area landmark-contentinfo-is-top-levelThe footer sits inside another landmark.blind people (screen readers)
- Form buttons without a name input-button-nameA submit or reset button has no text, so it's announced as just "button".blind people (screen readers)
- Form fields without a label labelIn your forms (checkout, contact, login) some fields don't say what goes in them. A blind customer hears "edit text" and can't complete the purchase.blind people (screen readers) · people with cognitive disabilities
- Forms that block autofill autocomplete-validThe browser can't fill name, email or address automatically, which is what many people with motor or cognitive disabilities rely on.people with cognitive disabilities · people who can't use a mouse
- Graphics without a description role-img-altAn element marked as an image has no description.blind people (screen readers)
- Header nested inside another area landmark-banner-is-top-levelThe page header sits inside another landmark.blind people (screen readers)
- Headings out of order heading-orderTitles skip levels (like a document going from chapter 1 to section 1.1.1). The page's outline stops making sense to screen readers.blind people (screen readers) · people with cognitive disabilities
- Hidden elements that still get focus aria-hidden-focusKeyboard users land on invisible elements: the cursor "disappears".blind people (screen readers) · people who can't use a mouse
- Icons without a description svg-img-altVector icons (logo, social icons) have no name for screen readers.blind people (screen readers)
- Image buttons without a name input-image-altA button made of an image (search, submit) is announced as "button" with no purpose.blind people (screen readers)
- Image descriptions that repeat themselves image-redundant-altThe description says "image of…"; screen readers already say "image", so it's heard twice.blind people (screen readers)
- Images without a description image-altA blind visitor's screen reader says "image" and nothing else. If the image is a product, a promo or a button, they simply don't know what it is.blind people (screen readers)
- Invalid accessibility roles aria-rolesAn element uses a role name that doesn't exist, so assistive technology ignores it.blind people (screen readers)
- Invalid language on part of the page valid-langA section declares a language code that doesn't exist.blind people (screen readers)
- Keyboard order forced by hand tabindexThe tab order was overridden, so keyboard users jump around the page unpredictably.people who can't use a mouse
- Labels on elements that can't have them aria-prohibited-attrAn aria-label was put on plain text or a container, where screen readers ignore it.blind people (screen readers)
- Links that don't say where they go link-nameLinks like "click here" or an image with no text are read as "link". Screen-reader users navigate by jumping between links, so these are dead ends.blind people (screen readers)
- Links that look like normal text link-in-text-blockInside paragraphs, links aren't underlined and their colour barely differs. Many people never realise they can click.people with low vision · people with cognitive disabilities
- List items outside a list listitemItems are read without their list context.blind people (screen readers)
- Lists built incorrectly listScreen readers announce "list of 5 items"; here the count is wrong or the list is broken.blind people (screen readers)
- Main content nested inside another area landmark-main-is-top-levelThe main content area is wrapped by another landmark, so the shortcut to it lands in the wrong place.blind people (screen readers)
- Menu or list pieces out of place aria-required-parentParts of a menu, tab bar or list are built outside their container, so screen readers announce them wrongly.blind people (screen readers)
- Menus or lists with missing pieces aria-required-childrenA container announces itself as a menu or list but has no proper items inside.blind people (screen readers)
- Meters without a name aria-meter-nameA gauge or meter doesn't say what it measures.blind people (screen readers)
- Missing accessibility information aria-required-attrA custom control (switch, checkbox) doesn't tell screen readers its state, e.g. on or off.blind people (screen readers)
- Misspelled accessibility attributes aria-valid-attrAn aria-* attribute is misspelled and does nothing.blind people (screen readers)
- No landmarks to navigate by regionScreen-reader users jump between regions (menu, content, footer). Without them, they must listen to the whole page from the top.blind people (screen readers) · people who can't use a mouse
- No main content area landmark-one-mainThere's no way to jump straight to the content, so screen-reader users hear the menu on every page.blind people (screen readers) · people who can't use a mouse
- No way to skip the menu bypassKeyboard users must tab through every menu item on every page before reaching content.people who can't use a mouse
- Page refreshes or redirects on a timer meta-refreshThe page reloads by itself; screen-reader users lose their place.people with cognitive disabilities · blind people (screen readers)
- Pop-up windows without a name aria-dialog-nameWhen a pop-up opens (cart, cookie notice, login) a blind user isn't told what it is.blind people (screen readers)
- Progress bars without a name aria-progressbar-nameA progress bar doesn't say what is progressing.blind people (screen readers)
- Repeated internal names duplicate-idTwo elements share the same internal name, which confuses assistive technology and can break forms.blind people (screen readers) · people who can't use a mouse
- Repeated internal names in labels duplicate-id-ariaA label points to a name used twice, so it may describe the wrong element.blind people (screen readers)
- Repeated navigation areas without names landmark-uniqueSeveral menus are announced identically; users can't tell them apart.blind people (screen readers)
- Same link text, different destinations identical-links-same-purposeLinks that read the same go to different places, so users can't predict where they'll land.blind people (screen readers) · people with cognitive disabilities
- Screen orientation locked css-orientation-lockThe page only works in one orientation; wheelchair-mounted devices can't rotate.people who can't use a mouse · mobile users
- Scrolling areas keyboard users can't reach scrollable-region-focusableA box that scrolls (menu, list of products) can't be scrolled without a mouse.people who can't use a mouse
- Scrolling text marqueeMoving text can't be paused and is hard to read.people with cognitive disabilities
- Sidebar nested inside another area landmark-complementary-is-top-levelA sidebar is inside the main content, so it is announced in the wrong place.blind people (screen readers)
- Switches or checkboxes without a name aria-toggle-field-nameA custom toggle doesn't say what it turns on or off.blind people (screen readers)
- Table caption repeated in its summary table-duplicate-nameThe same text is announced twice for the table.blind people (screen readers)
- Table cells pointing to the wrong header td-headers-attrCells reference a header that doesn't exist, so the table is read out of order.blind people (screen readers)
- Table columns without a heading empty-table-headerA table has an empty header cell, so screen readers can't say what a column contains.blind people (screen readers)
- Table headers with an invalid scope scope-attr-validHeader cells declare a scope value that doesn't exist.blind people (screen readers)
- Table headers with no data th-has-data-cellsA header cell has no cells under it; screen readers announce an empty column.blind people (screen readers)
- Table titles built as cells table-fake-captionA table's title is a merged cell instead of a real caption, so it isn't associated with the table.blind people (screen readers)
- Text contrast could be stronger color-contrast-enhancedReadable, but below the stricter (AAA) level some public bodies require.people with low vision
- Text marked incorrectly for screen readers aria-textA container marked as plain text contains focusable elements, which then vanish for screen readers.blind people (screen readers)
- Text spacing locked avoid-inline-spacingStyles force letter or line spacing so people who need wider spacing can't adjust it.people with low vision · people with cognitive disabilities
- Text that is hard to read color-contrastSome text is too light against its background. People with low vision, older customers, and anyone on a phone in sunlight can't read it. This is the most common finding in accessibility lawsuits.people with low vision · mobile users
- The declared language is invalid html-lang-validThe language code is misspelled, so screen readers ignore it.blind people (screen readers)
- The page doesn't declare its language html-has-langScreen readers guess the language and read Spanish with an English voice (or vice versa): unintelligible.blind people (screen readers)
- The page has no main heading page-has-heading-oneBlind users navigate by headings; without a main one the page has no starting point.blind people (screen readers) · people with cognitive disabilities
- The page has no title document-titleThe browser tab is blank and screen readers can't say which page is open. Also hurts Google.blind people (screen readers) · people with cognitive disabilities
- Tooltips without text aria-tooltip-nameA tooltip element has no content for screen readers.blind people (screen readers)
- Two different languages declared html-xml-lang-mismatchThe page declares one language in lang and another in xml:lang.blind people (screen readers)
- Two page footers landmark-no-duplicate-contentinfoTwo areas claim to be the footer.blind people (screen readers)
- Two page headers landmark-no-duplicate-bannerTwo areas claim to be the page header; screen readers can't tell which is the real one.blind people (screen readers)
- Videos without captions video-captionDeaf customers get nothing from your videos.deaf people
- Zoom is blocked on phones meta-viewportYour site forbids pinch-to-zoom. Anyone who needs bigger text can't get it.people with low vision · mobile users