Accessibility/HTML5 Forms

From MozillaWiki
Jump to: navigation, search

This page is a collection of new HTML5 specific @type values for the html:input element as well as some new form and text output elements that will be in the next Firefox release, and which need exposure through accessibility APIs.

Tracking bugs: bug 344614, bug 389237.

TODO Validation API

Hi Marco :)

placeholder attribute

Accessibility bug 545817.

From comment 6 of that bug: Text fields can have placeholder text that often visually appears as the italicized, or otherwise styled text inside the field. Users have learned that clicking the field removes the text.


  • Make the placeholder text part of the accDescription. Jamie also suggested that if the name is otherwise unspecified (by means of a missing label), make it the accName instead, then.
  • Alternatively, expose it as an object attribute.

Question: What if both title and placeholder are specified? The spec doesn't forbid that. If placeholder is exposed via accessibleDescription, it was suggested by Pete Brunet that title should be used and placeholder should be ignored in such cases.

New input types

The following is a list of new input types (defined by the @input attribute to the html:input element).


  • bug 559767
  • Accessible Role: possibly reuse XUL color picker class
  • support associated widgets
  • Support list of predefined options bug 559766


  • bug 559762
  • Accessible Role: ROLE_DATE_EDITOR
  • Make associated calendar widget accessible as well
  • Support list of predefined options bug 559766
  • support of STATE_INVALID?




  • bug 559764
  • Accessible Role: possibly like XUL:scale and xforms:range
  • support of STATE_INVALID?
  • Support AccessibleValue interface bug 559753





  • bug 558036
  • Child nodes make up the content, the JavaScript property .value is there to deliver that content to JS programmers and doesn't need to be checked.
  • The @for attribute points to other element(s) that contain, for example, the source of a calcuoation whose result is the actual content of this html:output element. Using CONTROLLED_BY and CONTROLLER_FOR relationsships is suggested and appears to make the most sense.
  • support of STATE_INVALID?


  • bug 559773
  • nsIAccessibleRole: Progress
  • Support nsIAccessibleValue interface bug 559753
  • Support valueChangedEvent.