ChangeProposals/CorrectHidden/UAIG

From HTML WG Wiki
Jump to: navigation, search

User Agent Implementation Guide (UAIG)

The WAI-ARIA 1.0 User Agent Implementation Guide (UAIG) says that hidden elements are not exposed via the accessibility API, and this may be the cause some confusion. The intention was to forbid hidden elements from being exposed as separate accessibility objects in the accessibility api object tree. This was not intended to forbid mapping text from hidden objects to properties of other objects in the accessibility api tree. It sounds as though a note clarifying this should be added to UAIG.

Authors Provide Strings and Browsers Process Strings

Section 5.6.1.3. Text Alternative Computation of UIAG states explicitly that authors can provide strings for the accessible name and description via aria references to hidden elements, and that browsers are to process them as strings for these fields.

1.Skip hidden elements unless the author specifies to use them via an aria-labelledby or aria-describedby being used in the current computation. By default, users of assistive technologies won't receive the hidden information, but an author will be able to explicitly override that and include the hidden text alternative as part of the label string sent to the accessibility API.

UAIG Section 5.5.1. State and Property Mapping Table describes the use of aria-describedby in name and description calculation, and makes no mention of special treatment based on hidden state.

WAI-ARIA State or Property

MSAA UIA Express

MSAA IAccessible2

UIA

ATK/AT-SPI

Mac OS X

aria-describedby

Use in calculating the accessible Description as described in [#mapping_additional_nd Name Computation]. Expose in accDescription property.

Use in calculating the accessible Description as described in [#mapping_additional_nd Name Computation]. Expose in accDescription property.

If the object is in the accessibility tree, expose pointer to the accessible object in IA2_RELATION_DESCRIBED_BY

Expose reverse relations as described in [#mapping_additional_relations Relations].

Use in calculating the accessible Description as described in [#mapping_additional_nd Name Computation].

Expose pointer to the accessible object in DescribedBy property.

Use in calculating the accessible Description as described in [#mapping_additional_nd Name Computation]. Expose pointer to the accessible object in RELATION_DESCRIBED_BY

Expose reverse relations as described in [#mapping_additional_relations Relations].

Use in calculating the accessible Description as described in [#mapping_additional_nd Name Computation]. Expose in string AXDescription (reserved for non-visible accessible name or calculated description)