a11y is shorthand for the word accessibility, and it means that and nothing narrower. The number is a letter count. Take accessibility, keep the a and the y, and replace the 11 letters in between with the number. That trick has a name, numeronym, and you will meet its siblings all over software. i18n for internationalization, l10n for localization, k8s for Kubernetes. Out loud you will most often hear "ally", which is worth knowing before you sit in a meeting and try to pronounce it off the page.
a11y, in full →
On this siteAccessibility · What web accessibility means
Also called: German cease-and-desist warning letter
An Abmahnung is a cease-and-desist letter from a competitor rather than from a regulator, and in Germany it is the accessibility risk actually landing on doormats. German unfair competition law lets a rival demand that you stop breaking a rule that gives you an edge over them, and the demand turns up with the sender's legal costs attached and a pre-written promise for you to sign. That promise is the expensive half rather than the invoice, because it binds with no end date and carries a penalty that falls due the next time the same fault appears on your site. The law is stricter with the sender than most people expect. The letter has to state five specific things to be worth anything, and where it does not, the business that received it can claim its own defence costs back, up to the amount that was demanded.
Abmahnung, in full →
On this siteGermany's BFSG · The European Accessibility Act · European Accessibility Act audit
Accessibility means building websites and tools so that people with disabilities can use them. W3C puts it more precisely, as being able to perceive, understand, navigate and interact with the web, and to contribute to it. That last verb is the half most sites forget. A page can be perfectly readable and still carry a comment box, a review form or an upload that nobody using a screen reader can complete. The range it has to cover is wider than the obvious cases too, taking in auditory, cognitive, neurological, physical, speech and visual disabilities. And it is measured rather than felt. The measure is WCAG, the level laws and contracts reach for is almost always AA, and in a great many countries some version of this is required by law.
Accessibility, in full →
On this siteEvery WCAG rule, explained · The laws that require it · Accessibility, usability and inclusive design
An accessibility API is the channel an operating system provides so assistive technology can find out what is on screen. Your browser reads the page, builds an accessibility tree out of the markup, the CSS and any ARIA on top, and hands that tree to the platform. A screen reader asks the platform rather than reading your HTML, and ARIA calls that the preferred route while permitting software to read the markup out of the DOM instead. Every desktop and mobile platform has one, and the names differ. Windows has two in active use. UI Automation, and the older Microsoft Active Accessibility with its IAccessible2 extension, which is what JAWS and NVDA actually consume from Firefox and Chrome. On macOS it is the AX API, which a Mac developer meets under the name NSAccessibility. Android has its own, and Linux splits the job in two, between an interface applications implement and a desktop service that gathers it for the tools reading it.
Accessibility API, in full →
On this siteThe accessibility tree · Rule 4.1.2 Name, Role, Value
An accessibility audit is a structured evaluation of a website against WCAG, ending in a documented pass or fail for every applicable rule with the evidence attached. W3C publishes a method for it, and testing is only one of five steps. You define the scope, explore the product, select a sample, evaluate that sample, then report what you found. The two steps before testing are where cheap audits actually go wrong, because a sample chosen badly makes everything after it unreliable. A real audit also uses more than one kind of pass. A machine finds what machines can decide, an expert reviews the judgment calls, and somebody who uses assistive technology daily works through the journeys that matter.
Accessibility audit, in full →
On this siteHow we run an audit · Free 10-page scan
An accessibility statement is a public page saying how accessible your site actually is. Three things make it worth reading. It names the standard you are aiming at, usually WCAG at Level AA. It says what is not accessible yet and what somebody can do instead. And it gives a person blocked by a barrier a real route to a human, with an answer they can expect inside a stated time. The wording W3C models for the middle part is partially conformant, meaning some parts of the content do not fully conform. That is the honest position for very nearly every site, and it is a far stronger place to stand than a claim you cannot back.
Accessibility statement, in full →
On this siteGenerate yours free · Which laws require one
A way of using a technology is accessibility supported when two things are true together. First, that way of using it has been tested for interoperability with the assistive technology people actually have, in the human languages the content is written in. Second, there is an accessibility-supported user agent people can get hold of, which means either widely distributed software, or a widely distributed plug-in, or a closed environment like a corporate network where the required software is supported, or a user agent available to download or buy that costs a disabled person no more than anybody else and is no harder for them to find and obtain. Something can be valid, documented and specification-correct and still fail both halves.
Accessibility supported, in full →
On this siteThe conformance requirements · ARIA explained · Screen reader testing
The accessibility tree is a second structure the browser builds alongside the DOM, holding one object for every part of your page that has to be exposed to assistive technology. Four things on each object do most of the work. Its role, meaning what it is. Its accessible name, meaning what it is called. Its description, meaning anything extra attached. And its state. Pressed, expanded, checked, disabled. There is more on there besides, including how objects relate to one another and what can be done to them, so treat those four as the ones you will be fixing rather than the whole record. Assistive technology works from that tree, by way of the operating system's own accessibility interface, rather than from your CSS or your markup directly. So if the tree is wrong, the page is broken for those readers however good it looks on screen.
Accessibility tree, in full →
On this siteRule 4.1.2 Name, Role, Value · ARIA explained
Also called: aria-describedby, aria-description
An accessible description is the extra line a screen reader reads out after the name, and the word the specification uses for what it does is complements. The name says what a control is for. The description says what else somebody needs to know before they use it, and nothing in a description can touch the name. That one rule is why aria-describedby is the safe way to attach context to a button and aria-label is not. Four sources feed the description and the first one that applies wins, in the order aria-describedby, aria-description, a small set of HTML elements, then the title attribute. First match wins even where the match is empty, which is the trap in it. Point aria-describedby at an id that is not on the page and you get no description at all, and the title attribute that would have worked is never reached.
Accessible description, in full →
On this siteHow a description is computed · How a name is computed · aria-describedby
The accessible name is what assistive technology announces an element as, the words a screen reader speaks when it lands on a button or a link. It is computed rather than declared, from the text inside the element, a label, alt text, or ARIA attributes, and the order they are consulted in is what surprises people. It runs aria-labelledby first, then aria-label, then whatever the element's own technology supplies such as a label or alt text, then the text inside, and title last of all. So an aria-label on a button beats the words printed inside it, while a title loses to almost everything and is a fallback rather than an override. Some elements cannot be named at all, because their role forbids it, which is why the attribute sometimes does nothing whatever. And an element with no name is announced as its role and nothing else. "Button." "Link." "Edit text." The reader knows something is there and has no idea what it does.
Accessible name, in full →
On this siteRule 4.1.2 Name, Role, Value · Rule 2.5.3 Label in Name
Also called: Accessibility Conformance Report
An ACR is a completed VPAT. The template arrives blank, you test your product against each requirement and record the result, and the filled-in document is called an Accessibility Conformance Report. Buyers ask for a VPAT and mean this one. What they receive is a self-declaration rather than a certificate, because nobody accredits an ACR and it is worth exactly the testing that produced it. The edition matters as much as the answers do. There are four of them and they carry different versions of WCAG. A report on the Section 508 edition assesses the web criteria against WCAG 2.0, alongside the software and support-documentation chapters that are not WCAG at all. The EU edition reports 2.1, and only the WCAG and INT editions reach 2.2.
ACR, in full →
On this siteVPAT and ACR, explained · VPAT preparation · What a conformance report cannot say · A customer asked for a VPAT · Whether a report covers your configuration
Also called: Americans with Disabilities Act
The ADA is the main US disability rights law, signed in 1990 and broadened by amendments in 2008. It never mentions websites, which has slowed nothing down, because the Department of Justice has long treated what a business offers online as covered. The courts are less settled than that sounds. Where a site is the online face of a business with premises, claims generally proceed. Where the business exists only online, the answer changes with the circuit, and no federal appeals court has yet held that a website on its own is a place of public accommodation. Which part of the Act applies to you decides almost everything after that. Title III covers businesses open to the public, and no regulation there sets a technical standard, so you choose how you make your online services usable and WCAG is what everybody reaches for. Title II covers state and local government, and there WCAG 2.1 Level AA is now written into a federal rule with dates attached.
ADA, in full →
On this siteThe ADA, explained · WCAG vs. the ADA
Also called: Alert dialog
An alertdialog is a dialog that interrupts, and it is the role for a message somebody has to answer before anything else happens. ARIA builds it out of two parents at once. From alert it takes the urgency, so the browser is meant to fire a system alert event the moment the dialog is drawn, wherever the platform has such an event. From dialog it takes the ability to be answered, which a plain alert never has. Three obligations come with the role. It needs an accessible name, and that name has to come from aria-label or aria-labelledby rather than from the words inside it. Its message belongs in aria-describedby, pointed at the element holding those words, because a screen reader left to work the message out for itself is guessing. And it should be modal, meaning nothing outside it answers the keyboard or the mouse while it is open. Reach for it when unsaved work is about to go, and use a plain dialog for everything else.
alertdialog, in full →
On this siteThe alertdialog role reference · Accessible modals and dialogs · aria-describedby · Why a chat error in an alertdialog goes unheard
Also called: Alternative text, alt attribute
Alt text is the written description attached to an image, and it is what a screen reader reads out in place of the picture. The test is not whether you described it. It is whether the reader gets what the image was there to give them, which is why the same photograph needs different alt text on different pages. A chart's alt text is the finding. A product shot's is the product. An image sitting alone inside a link is a special case, because there the words have to name where the link goes rather than what the picture shows. And decoration gets an empty alt attribute, which tells assistive technology to skip it.
Alt text, in full →
On this siteRule 1.1.1 Non-text Content · Alt text checker · What to write, in four questions
Also called: WAI-ARIA, Accessible Rich Internet Applications
ARIA is a set of attributes that tell assistive technology what a custom control is and what state it is in. ARIA 1.2 defines 48 of them, every one named aria-something, plus the role attribute, whose value comes from a vocabulary of 94 roles. Twelve of those roles are abstract and exist only to hold the vocabulary together, so authors must not put them in content and the number you can actually write is 82. It exists for the things plain HTML has no element for, like tab strips, tree views and live announcements. What ARIA cannot do is change behavior. Put a button role on a div and a screen reader announces a button, while pressing Enter still does nothing, because you promised a button and shipped a div. That is W3C's own framing. A role is a promise, and the first thing its authoring guidance says is "No ARIA is better than Bad ARIA".
ARIA, in full →
On this siteRule 4.1.2 Name, Role, Value · ARIA techniques, explained
Also called: APG
The ARIA Authoring Practices Guide is W3C's pattern library for interface widgets, and the index runs to thirty. Tabs, tree views, comboboxes, dialogs, carousels. Some are things HTML has no element for. Others are things it does, because people rebuild those by hand anyway. Each one gives the markup, the roles, the states and, above all, the keyboard behaviour people expect, because browsers supply none of that for a control you built yourself. It is where W3C now sends readers for this, since Using ARIA, the document that used to carry the rules of ARIA use, has been discontinued and points here instead. Two limits are worth carrying in with you. The sample code is written to demonstrate the specification rather than to survive contact with real assistive technology, so W3C tells you to test anything you copy. And thirty is fewer than it sounds, because the pattern you came looking for is often not one of them.
ARIA Authoring Practices Guide, in full →
On this siteARIA explained · ARIA techniques
Also called: AT
Assistive technology is hardware or software that gives a person with a disability more than a mainstream browser offers on its own. It either acts as the browser itself or works alongside one, and WCAG names four things it does. It presents content another way. Speech, or magnified text. It accepts another kind of input, like voice. It adds ways to navigate, which is what a screen reader's headings list really is. And it transforms content, which covers the reading and simplification tools people with cognitive disabilities rely on. Your site never talks to it directly. The browser builds a description of your page, the operating system passes that on, and the tool reads what arrives.
Assistive technology, in full →
On this siteHow we test with real AT users · What people actually use
Audio description is narration added to a video's soundtrack that describes the visual detail the soundtrack alone does not carry. Actions, characters, scene changes, text on screen. In its standard form it goes into the pauses that already exist in the dialogue, which is why a video with wall-to-wall talking is harder to describe than a quiet one. It turns up at all three WCAG levels rather than only one, and every one of the three is about prerecorded video with a soundtrack. At Level A you can choose between a full text alternative and description. At Level AA the choice disappears and the description itself is required. At Level AAA you owe an extended version, where the video pauses to make room when the natural gaps are too short.
Audio description, in full →
On this siteRule 1.2.5 Audio Description · Video, captions and transcripts
Autocomplete is an HTML attribute naming what a form field collects. Name, email, tel, street-address, postal-code and 48 others. It lets browsers and password managers fill fields for people. It also lets assistive software show a familiar icon beside a field instead of a word, which works whatever language the label is written in. Rule 1.3.5 is the WCAG requirement behind it at Level AA, and it asks for something slightly different from what most people think. The purpose of the field has to be programmatically determinable. The attribute is the way you do that in HTML rather than the rule itself, so what fails is a field with no declared purpose, not a field where autofill has been switched off. The rule also only reaches fields collecting information about the user, so a delivery address for somebody else is outside it.
Autocomplete, in full →
On this siteRule 1.3.5 Identify Input Purpose · The autocomplete technique · All 53 input purposes, listed
Also called: Accessibility scanning
Automated testing is software that checks a page's code for the accessibility failures a machine can prove. An image with no alt attribute. A form field with no label. Text measuring below the contrast threshold. Run it, because it is fast, it is cheap, and what it measures it measures the same way every time. What it cannot do is decide conformance, and that is not a gap in the tools. W3C says outright that no tool alone can determine whether a site meets the standard, and that knowledgeable human evaluation is required. So passing the scanner and being accessible are two separate claims, and only one of them is a thing a machine can settle.
Automated testing, in full →
On this siteRun our free scanner · What machines can and cannot check