Examples of Accessible name
These are examples of the accessible name definition. The examples presented here are non-normative and not testable. They serve to illustrate some common pitfalls about the definition and to help implementers of ACT rules understand it.
Using aria-labelledby
The input elements have an accessible name of, respectively, "Billing Name" and "Billing Address". These accessible names are given by the aria-labelledby attributes and associated elements.
<div id="myBillingId">Billing</div>
<div>
<div id="myNameId">Name</div>
<input type="text" aria-labelledby="myBillingId myNameId" />
</div>
<div>
<div id="myAddressId">Address</div>
<input type="text" aria-labelledby="myBillingId myAddressId" />
</div>Using aria-label
This button element has an accessible name of "Share ACT rules" given by its aria-label attribute.
<button aria-label="Share ACT rules">Share</button>Using img alt attribute
This img element has an accessible name of "ACT rules" given by its alt attribute.
<img src="#" alt="ACT rules" />Using implicit labels
The button element has an accessible name of "Share ACT rules" given by the enclosing label element (implicit label)
<label>Share ACT rules<button>Share</button></label>Using explicit labels
The button element has an accessible name of "Share ACT rules" given by the associated label element (explicit label)
<label for="act-rules">Share ACT rules</label><button id="act-rules"></button>Using text content
This a element has an accessible name of "ACT rules" given from its content. Note that not all semantic roles allow name from content.
<a href="https://act-rules.github.io/">ACT rules</a>Not named from content
This span element has an empty accessible name ("") because span does not allow name from content.
<span>ACT rules</span>Not Labelable elements
This span element has an empty accessible name ("") because span is not a labelable element.
<label>ACT rules<span></span></label>Note: When the same element can have an accessible name from several sources, the order of precedence is: aria-labelledby, aria-label, own attributes, label element, name from content. The examples here are listed in the same order.
Note: For more examples of accessible name computation, including many tricky cases, check the Accessible Name Testable Statements.