For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive 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.
Failures
[ ] F59: Using script to make div or span a user interface control in HTML without providing a role for the control (This failure may be solved in the future using DHTML roadmap techniques.)
[ ] F20: Not updating text alternatives when changes to non-text content occur
[ ] F68: Association of label and user interface controls not being programmatically determined
[ ] F79: Focus state of a user interface component not being programmatically determinable or no notification of change of focus state available
[ ] F86: Not providing names for each part of a multi-part form field, such as a US telephone number
[x] F89: Using null alt on an image where the image is the only content in a link ( #59 :ok: )
Techniques
(HTML)
[ ] ARIA14: Using aria-label to provide an invisible label where a visible label cannot be used
[ ] ARIA16: Using aria-labelledby to provide a name for user interface controls
[ ] 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:
AND
[x] H91: Using HTML form controls and links ( #66 )
[ ] H44: Using label elements to associate text labels with form controls
[x] H64: Using the title attribute of the frame and iframe elements ( #65 )
[x] H65: Using the title attribute to identify form controls when the label element cannot be used ( #64 )
[ ] H88: Using HTML according to spec ( #86 )
Special situation: If using script or code to re-purpose a standard user interface component in a markup language:
[ ] Exposing the names and roles, allowing user-settable properties to be directly set, and providing notification of changes using ARIA16: Using aria-labelledby to provide a name for user interface controls
http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-rsv.html
For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive 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.
Failures
Techniques
(HTML)
Special situation: If using script or code to re-purpose a standard user interface component in a markup language: