4.1.2 Name, Role, Value: For alluser interface components (including but not limited to: form elements, links and components generated by scripts), thename androle can beprogrammatically determined; states, properties, and values that can be set by the user can beprogrammatically set; and notification of changes to these items is available touser agents, includingassistive technologies. (Level A)
Note:This success criterion is primarily for Web authors who develop or script their own user interface components. For example, standard HTML controls already meet this success criterion when used according to specification.
The intent of this Success Criterion is to ensure that Assistive Technologies (AT) can gather information about, activate(or set) and keep up to date on the status of user interface controls in the content.
When standard controls from accessible technologies are used, this process is straightforward. If the user interface elements are used according to specification the conditions of this provision will be met. (See examples of Success Criterion 4.1.2 below)
If custom controls are created, however, or interface elements are programmed (in code or script) to have a different role and/or function than usual, then additional measures need to be taken to ensure that the controls provide important information to assistive technologies and allow themselves to be controlled by assistive technologies.
A particularly important state of a user interface control is whether or not it has focus. The focus state of a control can be programmatically determined, and notifications about change of focus are sent to user agents and assistive technology. Other examples of user interface control state are whether or not a checkbox or radio button has been selected, or whether or not a collapsible tree or list node is expanded or collapsed.
Note:Success Criterion 4.1.2 requires a programmatically determinable name for all user interface components. Names may be visible or invisible. Occasionally, the name must be visible, in which case it is identified as a label. Refer to the definition of name and label in the glossary for more information.
Providing role, state, and value information on all user interface components enables compatibility with assistive technology, such as screen readers, screen magnifiers, and speech recognition software, used by people with disabilities.
Accessible APIs
A Java applet uses the accessibility API defined by the language.
Resources are for information purposes only, no endorsement implied.
Each numbered item in this section represents a technique or combination of techniques that theWCAG Working Group deems sufficient for meeting this Success Criterion. However, it is not necessary to use these particular techniques. For information on using other techniques, seeUnderstanding Techniques for WCAG Success Criteria, particularly the "Other Techniques" section.
Instructions: Select the situation below that matches your content. Each situation includes techniques or combinations of techniques that are known and documented to be sufficient for that situation.
ARIA14: Using aria-label to provide an invisible label where a visible label cannot be used (ARIA)
ARIA16: Using aria-labelledby to provide a name for user interface controls (ARIA)
G108: Using markup features to expose the name and role, allow user-settable properties to be directly set, and provide notification of changes using technology-specific techniques below:
Exposing the names and roles, allowing user-settable properties to be directly set, and providing notification of changes using one of the following techniques:
G135: Using the accessibility API features of a technology to expose names and roles, to allow user-settable properties to be directly set, and to provide notification of changes using technology-specific techniques below:
FLASH32: Using auto labeling to associate text labels with form controls (Flash)
FLASH29: Setting the label property for form components (Flash)
FLASH30: Specifying accessible names for image buttons (Flash)
PDF10: Providing labels for interactive form controls in PDF documents (PDF)
PDF12: Providing name, role, value information for form fields in PDF documents (PDF)
SL26: Using LabeledBy to Associate Labels and Targets in Silverlight (Silverlight)
SL32: Using Silverlight Text Elements for Appropriate Accessibility Role (Silverlight)
G10: Creating components using a technology that supports the accessibility API features of the platforms on which the user agents will be run to expose the names and roles, allow user-settable properties to be directly set, and provide notification of changes using technology-specific techniques below:
ARIA4: Using a WAI-ARIA role to expose the role of a user interface component (ARIA)
ARIA16: Using aria-labelledby to provide a name for user interface controls (ARIA)
SL6: Defining a UI Automation Peer for a Custom Silverlight Control (Silverlight)
SL18: Providing Text Equivalent for Nontext Silverlight Controls With AutomationProperties.Name (Silverlight)
SL20: Relying on Silverlight AutomationPeer Behavior to Set AutomationProperties.Name (Silverlight)
SL30: Using Silverlight Control Compositing and AutomationProperties.Name (Silverlight)
Although not required for conformance, the following additional techniques should be considered in order to make content more accessible. Not all techniques can be used or would be effective in all situations.
Providinglabels for all form controls that do not have implicit labels (future link)
The following are common mistakes that are considered failures of Success Criterion 4.1.2 by theWCAG Working Group.
Note:This failure may be solved in the future using DHTML roadmap techniques.
hardware and/or software that acts as auser agent, or along with a mainstream user agent, to provide functionality to meet the requirements of users with disabilities that go beyond those offered by mainstream user agents
Note 1: functionality provided by assistive technology includes alternative presentations (e.g., as synthesized speech or magnified content), alternative input methods (e.g., voice), additional navigation or orientation mechanisms, and content transformations (e.g., to make tables more accessible).
Note 2:Assistive technologies often communicate data and messages with mainstream user agents by using and monitoringAPIs.
Note 3:The distinction between mainstream user agents and assistive technologies is not absolute. Many mainstream user agents provide some features to assist individuals with disabilities. The basic difference is that mainstream user agents target broad and diverse audiences that usually include people with and without disabilities. Assistive technologies target narrowly defined populations of users with specific disabilities. The assistance provided by an assistive technology is more specific and appropriate to the needs of its target users. The mainstream user agent may provide important functionality to assistive technologies like retrieving Web content from program objects or parsing markup into identifiable bundles.
Example:Assistive technologies that are important in the context of this document include the following:
screen magnifiers, and other visual reading assistants, which are used by people with visual, perceptual and physical print disabilities to change text font, size, spacing, color, synchronization with speech, etc. in order to improve the visual readability of rendered text and images;
screen readers, which are used by people who are blind to read textual information through synthesized speech or braille;
text-to-speech software, which is used by some people with cognitive, language, and learning disabilities to convert text into synthetic speech;
speech recognition software, which may be used by people who have some physical disabilities;
alternative keyboards, which are used by people with certain physical disabilities to simulate the keyboard (including alternate keyboards that use head pointers, single switches, sip/puff and other special input devices.);
alternative pointing devices, which are used by people with certain physical disabilities to simulate mouse pointing and button activations.
text by which software can identify a component within Web content to the user
Note 1:The name may be hidden and only exposed by assistive technology, whereas alabel is presented to all users. In many (but not all) cases, the label and the name are the same.
Note 2:This is unrelated to the name attribute in HTML.
determined by software from author-supplied data provided in a way that differentuser agents, includingassistive technologies, can extract and present this information to users in different modalities
Example 1:Determined in a markup language from elements and attributes that are accessed directly by commonly available assistive technology.
Example 2:Determined from technology-specific data structures in a non-markup language and exposed to assistive technology via an accessibilityAPI that is supported by commonly available assistive technology.
set by software using methods that are supported by user agents, including assistive technologies
text or number by which software can identify the function of a component within Web content
Example:A number that indicates whether an image functions as a hyperlink, command button, or check box.
any software that retrieves and presents Web content for users
Example:Web browsers, media players, plug-ins, and other programs — includingassistive technologies — that help in retrieving, rendering, and interacting with Web content.
a part of the content that is perceived by users as a single control for a distinct function
Note 1:Multiple user interface components may be implemented as a single programmatic element. Components here is not tied to programming techniques, but rather to what the user perceives as separate controls.
Note 2:User interface components include form elements and links as well as components generated by scripts.
Example:An applet has a "control" that can be used to move through content by line or page or random access. Since each of these would need to have a name and be settable independently, they would each be a "user interface component."
This Web page is part ofUnderstanding WCAG 2.0: A guide to understanding and implementing WCAG 2.0 (see thelatest version of this document). The entire document is also available as asingle HTML file. See theThe WCAG 2.0 Documents for an explanation of how this document fits in with other Web Content Accessibility Guidelines (WCAG) 2.0 documents. To send public comments, please follow theInstructions for Commenting on WCAG 2.0 Documents.
Copyright © 2023World Wide Web Consortium.W3C®liability,trademark anddocument use rules apply.