SVG Accessibility API Mappings -- Building the Accessibility Tree

The SVG Accessibility API Mappings spec refers directly to the Core
Accessibility API Mappings spec for many sections.  For the most part, this
is all good.  However, as I mentioned in another note, I think some
SVG-specific guidance would be useful when it comes to the rules
on building the accessibility tree (hidden under section 5.1, "General
rules for exposing WAI-ARIA semantics").

I've included below a sample text.  I've written it up as additional
normative requirements; I don't think anything contradicts with the Core
rules, but please review with that in mind!  For 5.1.1 (excluding
elements), the Core rules include a bullet point about host language
semantics, this is just extrapolating on what those semantics are.  For
5.1.2 (including elements), the new rule is consistent with the wording
currently used in the element mapping table.

I would recommend that the repeated (and verbose) text within that table be
replaced with references to this section.  For example, most elements would
have the following for their default platform WAI-ARIA role mappings: "none
role mapping, unless the element is required to be included in the
accessibility tree according to section 5.1.2, in which case group role
mapping."  This wording would also ensure that any element that can receive
focus (one of the criteria in 5.1.2 of Core-AAM) will have a role other
than none.

I'm still not sure what to do with content duplicated with a <use>
element.  I'm going to think about that some more, and start a separate
thread.  We may need to edit this text in response to that discussion.

Best,
Amelia
______________________
5.1 General rules for exposing WAI-ARIA semantics SVG user agents must conform
to General rules for exposing WAI-ARIA semantics
<http://www.w3.org/TR/core-aam-1.1/#mapping_general> in [CORE-AAM
<http://www.w3.org/TR/svg-aam-1.0/#bib-CORE-AAM>], as well as to the
following requirements specific to SVG.
5.1.1 Excluding Elements from the Accessibility Tree

The following SVG elements
<http://www.w3.org/TR/core-aam-1.1/#dfn-element> have
host language semantics specifying that the element is not displayed, and are
therefore not exposed via the *accessibility *API. User agents
<http://www.w3.org/TR/core-aam-1.1/#dfn-user-agent> must not include them
in the accessibility tree
<http://www.w3.org/TR/core-aam-1.1/#dfn-accessibility-tree>:

   - Any element which is described in the SVG specifications or other
   specifications as never being rendered directly.  This includes the <defs>
   element and any of its child content, the <animate>, <animateMotion>,
   <mpath>, <animateTransform>, <discard>, and <set> elements, the <clipPath>
   and <mask> elements and their child content, the <filter> element and its
   child content, the <linearGradient>, <radialGradient>, <pattern>,
   <solidColor>, <hatch>, and <mesh> elements and their child content, and the
   <symbol> and <marker> elements and their child content.

   - Any <script> and <style> elements.

   - Descriptive content (the <title>, <desc>, and <metadata> elements and
   their child content).


   - The <switch> element and any elements that are bypassed according to
   the processing rules of an ancestor <switch> element [
   https://svgwg.org/svg2-draft/struct.html#SwitchElement].

Although the above elements are never included in the accessibility tree
directly, they may still be used in the name and description computation of
another element.  5.1.2 Including Elements in the Accessibility Tree

If not already excluded from the accessibility tree per the rules
above in Excluding
Elements in the Accessibility Tree
<http://www.w3.org/TR/core-aam-1.1/#exclude_elements2>, user agents
<http://www.w3.org/TR/core-aam-1.1/#dfn-user-agent> must provide an accessible
object <http://www.w3.org/TR/core-aam-1.1/#dfn-accessible-object> in
the accessibility
tree <http://www.w3.org/TR/core-aam-1.1/#dfn-accessibility-tree> for DOM
elements <http://www.w3.org/TR/core-aam-1.1/#dfn-element> that meet the
following criteria, or any of the criteria specified in CORE-AAM:

   - Elements that have an associated ‘title
   <http://www.w3.org/TR/SVG2/struct.html#TitleElement>’ element, ‘desc
   <http://www.w3.org/TR/SVG2/struct.html#DescElement>’ element, ‘aria-label
   <http://www.w3.org/TR/wai-aria-1.1/#aria-label>’ attribute, ‘
   aria-labelledby
<http://www.w3.org/TR/wai-aria-1.1/#aria-labelledby>’ attribute,
   or ‘aria-describedby
   <http://www.w3.org/TR/wai-aria-1.1/#aria-describedby>’ attribute.

Received on Sunday, 17 May 2015 02:08:25 UTC