Outdated Content!

The Protocols and Formats Working Group is no longer chartered to operate. Its work will continue in two new Working Groups:

  • https://www.w3.org/WAI/APA/ Accessible Platform Architectures, to review specifications, develop technical support materials, collaborate with other Working Groups on technology accessibility, and coordinate harmonized accessibility strategies within W3C; and
  • https://www.w3.org/WAI/ARIA/ Accessible Rich Internet Applications, to continue development of the Accessible Rich Internet Applications (WAI-ARIA) suite of technologies and other technical specifications when needed to bridge known gaps.

Resources from the PFWG remain available to support long-term institutional memory, but this information is of historical value only.

This Wiki page was edited by participants of the Protocols and Formats Working Group. It does not necessarily represent consensus and it may have incorrect information or information that is not supported by other Working Group participants, WAI, or W3C. It may also have some very useful information.

HTML 4.x as-built browser comparison

From Protocols and Formats Working Group Wiki
Jump to: navigation, search
IE MSAA (same for IE 5-8) IE8 UIA Gecko Opera 9.6 MSAA
HTML element Role Name Value State Notes Control Type Notes HTML element Role Name Value States Relations Actions Events Notes Role Name Value State Notes
<a href> link title' attribute, text within <a> element or 'alt'

attribute if image link. Concatenated if both text and image 'alt'

attribute are provided
href' attribute note that this only applies when the ‘href’ attribute is present. It does not apply to <a name> a ROLE_SYSTEM_ LINK n/a value of @href attribute STATE_SYSTEM_ SELECTABLE if @name attribute is presented


STATE_SYSTEM_ LINKED if @href attribute is presented or click event listener is registered

STATE_SYSTEM_ TRAVERSED if link is traversed

n/a "jump" if @href is valid n/a text from child nodes none normal
<area>
<br> br ROLE_SYSTEM_ WHITESPACE '\n' (new line char) STATE_SYSTEM_ READONLY n/a n/a n/a
<button> push button text inside <button> element or 'title' attribute button ROLE_SYSTEM_ PUSHBUTTON from child nodes n/a STATE_SYSTEM_ FOCUSABLE


STATE_SYSTEM_ DEFAULT if @type attribute has value "submit"
n/a "press" n/a push button from child nodes
caption BSTR role n/a n/a n/a description_for (0x100f), points to table element
<div> grouping text inside the <div> element or ‘title’ attribute div BSTR role n/a n/a n/a n/a n/a n/a text from child nodes
<fieldset> grouping <legend> element fieldset ROLE_SYSTEM_ GROUPING text equivalent from child legend element n/a n/a labelled_by (1003), points to legend element n/a n/a none found
hr ROLE_SYSTEM_ SEPARATOR n/a n/a n/a n/a n/a n/a none found
h1-h6
iframe client from document contained in frame (initially @src, but updated dynamically) focusable description from @longdesc not in the tree for parent page.  Acts like a separate browser window.
iframe pane from <title> of document contained in frame(initially @src, but updated dynamically)
<img> graphic ‘alt’ attribute
alt="" sets name to emtpy string
img, input @type=image ROLE_SYSTEM_ GRAPHIC from @alt attribute, empty @alt attribute means name can't be calculated at all n/a STATE_SYSTEM_ ANIMATED if image has more than one frame n/a "showlongdesc" if @longdesc attribute is presented n/a if @usemap attribute is used then image accessible has children for each map item graphic alt if alt="" the image is not added to the MSAA tree.
<img usemap>
<input type = "button", "submit", or "reset"> push button value' attribute input @type=button, submit, reset ROLE_SYSTEM_ PUSHBUTTON from @value attribute, @alt attribute, default label, @src attribute, @data attribute n/a STATE_SYSTEM_ DEFAULT if @type attribute has value "submit" n/a "press" n/a push button value
<input type = "image"> push button alt' attribute or 'title' attribute, <label> element associated with it img, input @type=image ROLE_SYSTEM_ GRAPHIC from @alt attribute, empty @alt attribute means name can't be calculated at all n/a STATE_SYSTEM_ ANIMATED if image has more than one frame n/a "showlongdesc" if @longdesc attribute is presented n/a if @usemap attribute is used then image accessible has children for each map item not found value (or text typed by user) focusable, hot-tracked input type=image does not appear in the MSAA tree, even with alt
<input type = "text"> editable text <label> element associated with it or 'title' attribute value' attribute input @type=text, textarea ROLE_SYSTEM_ TEXT n/a value property of input DOM element  STATE_SYSTEM_ READONLY if @readonly attribute is used n/a "activate" n/a editable text from associated <label> value (or text typed by user) focusable, hot-tracked
<input type = "password"> editable text <label> element associated with it or 'title' attribute input @type=password ROLE_SYSTEM_ TEXT n/a n/a STATE_SYSTEM_ READONLY if @readonly attribute is used


STATE_SYSTEM_ PROTECTED
n/a "activate" n/a editable text from associated <label> value (or text typed by user) focusable, hot-tracked NOTE:  this appears to be a bug. 

Password value is shown in clear text in MSAA and state is not

protected
<input type="checkbox"> checkbox <label> element associated with it or 'title' attribute checked' attribute input type="checkbox" ROLE_SYSTEM_ CHECKBUTTON n/a n/a STATE_SYSTEM_ MARQUEED used as state checkable


STATE_SYSTEM_ MIXED for HTML 5 if intermediate property of DOM element returns true

STATE_SYSTEM_ CHECKED if checked property of DOM element returns true

n/a "check"/"uncheck"/"cycle" depending on state EVENT_OBJECT_ STATECHANGE when state is changed check box from associated <label> selectable, hot-tracked


if @checked=checked, then state+=checked
<input type="radio"> radio button <label> element associated with it or 'title' attribute checked' attribute input type="radio" ROLE_SYSTEM_ RADIOBUTTON n/a n/a STATE_SYSTEM_ MARQUEED used as state checkable


STATE_SYSTEM_ CHECKED if checked property of DOM element returns true

n/a "select" EVENT_OBJECT_ STATECHANGE when state is changed radio button from associated <label> focusable


if @checked=checked, then state+=checked
multiple radio buttons with the same name (or name not specified) create a parent with role=grouping
label ROLE_SYSTEM_ STATICTEXT from child nodes n/a n/a n/a n/a n/a text from child nodes normal
legend ROLE_SYSTEM_ STATICTEXT n/a n/a n/a label_for (0x1002), points to caption element n/a n/a text from child nodes normal  
li and others ROLE_SYSTEM_ LISTITEM n/a n/a STATE_SYSTEM_ READONLY n/a n/a n/a contains child accessible for list bullet text from child nodes normal
ol, ul and others ROLE_SYSTEM_ LIST n/a n/a STATE_SYSTEM_ READONLY n/a n/a n/a not in tree
optgroup BSTR role n/a n/a n/a n/a n/a n/a list item label attribute unavailable
<option> list item Text inside the <option> element ‘selected’ attribute option ROLE_SYSTEM_ LISTITEM from @label attribute, from child text nodes n/a STATE_SYSTEM_ SELECTED if option is selected n/a "select" EVENT_OBJECT_ SELECTIONWITHIN


EVENT_OBJECT_ SELECTIONADD if selected

EVENT_OBJECT_ SELECTIONREMOVE if unselected

list item selectable
if @selected=selected, state+=selected
select @size > 1 ROLE_SYSTEM_ LIST n/a n/a STATE_SYSTEM_ MULTISELECTABLE if multiselectable n/a n/a n/a combo box selected element @label if present, otherwise selected element child nodes opera and IE are different here.  IE supports<label>  and title on select
<select> combobox, list, or dropdown list <label> element associated with it or 'title' attribute <option> element with 'selected' attribute set to "selected" select @size = 1 ROLE_SYSTEM_ COMBOBOX n/a name of focused option STATE_SYSTEM_ EXPANDED if combobox open


STATE_SYSTEM_ COLLAPSED if combobox is collapsed

STATE_SYSTEM_ HASPOPUP

STATE_SYSTEM_

FOCUSABLE
n/a "open"/"close" depending on state EVENT_OBJECT_ VALUECHANGE when selected option is changed same
<table> table ‘title’ attribute It is generally not a good idea to add title attributes to tables table ROLE_SYSTEM_ TABLE from @summary attribute n/a described_by (0x100e) points to caption element n/a n/a table from summary none normal
<textarea> editable text <label> element associated with it or 'title' attribute text within <textarea> element input @type=text, textarea ROLE_SYSTEM_ TEXT n/a value property of input DOM element  STATE_SYSTEM_ READONLY if @readonly attribute is used n/a "activate" n/a editable text from associated label element from child nodes normal no support for @title
<td> cell ‘title’ attribute It is generally not a good idea to add title attributes to <td> what about th? td ROLE_SYSTEM_ CELL n/a n/a n/a n/a n/a n/a cell
<th> ROLE_SYSTEM_ CELL n/a n/a n/a n/a n/a n/a column header all th are column header role, even when at the beginning of a row of td
thead ROLE_SYSTEM_ COLUMNHEADER n/a n/a n/a n/a n/a n/a
<tr> row normal
<span> grouping text inside the <span> element or ‘title’ attribute text from child nodes none normal no support for @title
Other html elements editable text text inside the element or ‘title’ attribute It is generally not a good idea to add titles to text elements.
abbr, acronym, blockquote, form, frame, h1-h6, iframe BSTR role n/a n/a n/a n/a n/a n/a