Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

ngAria should inject missing roles #10012

Closed
marcysutton opened this issue Nov 12, 2014 · 0 comments
Closed

ngAria should inject missing roles #10012

marcysutton opened this issue Nov 12, 2014 · 0 comments

Comments

@marcysutton
Copy link
Contributor

To do more heavy lifting, ngAria should inject missing roles such as checkbox and range where it detects types. Currently, using type="checkbox" or type="range" on a <div> or <md-checkbox> does not inject a role, leaving the developer responsible for rounding out accessibility support.

For example:

<div type="checkbox" ng-model="data">
    Div masquerading as a checkbox
</div>

With ngAria included, this becomes:

<div type="checkbox" ng-model="data" aria-checked="false" aria-invalid="false">
    Div masquerading as a checkbox
</div>

ngAria should add role="checkbox" to any element that is not an <input> with a type of checkbox, and similarly for each type it checks. Many of the ARIA attributes added by ngAria are redundant on native inputs. Custom element directives and divs requiring roles to communicate purpose to assistive technologies stand to benefit much more from this module.

Note that tabindex, aria-label and keyboard operability are also required to make the above example accessible; this issue is focusing solely on roles.

See this Codepen for a live example.

Hat tip to @ewinslow for the suggestion in #9254.

@petebacondarwin petebacondarwin added this to the 1.3.x milestone Nov 12, 2014
marcysutton pushed a commit to marcysutton/angular.js that referenced this issue Dec 4, 2014
Adds missing roles: slider, radio, checkbox
Closes angular#10012
marcysutton pushed a commit to marcysutton/angular.js that referenced this issue Feb 7, 2015
Adds missing roles: slider, radio, checkbox
Closes angular#10012
marcysutton pushed a commit to marcysutton/angular.js that referenced this issue Feb 17, 2015
Adds missing roles: slider, radio, checkbox
Closes angular#10012
petebacondarwin pushed a commit that referenced this issue Mar 2, 2015
This change adds the missing roles: `slider`, `radio`, `checkbox`

Closes #10012
Closes #10318
hansmaad pushed a commit to hansmaad/angular.js that referenced this issue Mar 10, 2015
This change adds the missing roles: `slider`, `radio`, `checkbox`

Closes angular#10012
Closes angular#10318
netman92 pushed a commit to netman92/angular.js that referenced this issue Aug 8, 2015
This change adds the missing roles: `slider`, `radio`, `checkbox`

Closes angular#10012
Closes angular#10318
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants