Accessible Name
The accessible name is the name under which a control reaches assistive technology: what a screen reader announces and what speech input accepts as a command. It is not chosen but computed by the browser, following the algorithm defined in the W3C specification Accessible Name and Description Computation. The order decides: aria-labelledby first, then aria-label, then the host language mechanism itself. That is the label element of a form field or the alt attribute of an image. After that, for roles that allow it, comes the element's own text content, and only at the very end the title attribute. Whatever ranks higher overrides everything below it. One requirement comes from the standard itself: WCAG 2.2 success criterion 2.5.3 “Label in Name”, level A, asks that the name contain the text presented visually. The accessible description complements the name; it does not replace it. How much of it is actually read out depends on the software, not on the specification.
In practice
The visible label says “Send”, the aria-label says “Submit form”. A speech input user saying “Send” hits nothing. That is the standard case behind success criterion 2.5.3, and it almost always appears during a fix: somebody adds an aria-label because a checker reported a missing name. The rule from the APG is inconvenient and correct: prefer visible text, then native HTML mechanisms, and only then ARIA. A button that reads “Send” needs no aria-label. It is needed for the icon-only button and for the “More” link that reads the same twenty times in a list. A second trap is expensive: on roles that take their name from content, aria-label overrides exactly that content. For assistive technology users it is then gone. The counter-test is built into the browser. The accessibility pane of the developer tools shows the computed name for every element. Walk through the controls of a page and compare that name with the text beside it. When the title attribute is the only source, the APG is right to warn: what comes out is rarely a good name.
← Back to the glossary