Re: [aria] SVG-AAM: Consider explicit language regarding objects with presentational role and aria-label (#136)

Joanie,

We intend that any element with a role none or role presentation be omitted
from the accessibility tree. This should overrule everything else - even
aria-label, aria-labeledby and aria-description. For elements with role
none we are not automatically excluding the children of the element from
the accessibility tree.

In SVG, there are lots of times when a group is used for adding style
information but the group does not have semantic meaning and we need the
role none and role presentation to prevent the group from being added to
the accessibility tree.  It is imperative that an author know role none is
the magic hammer which absolutely keeps an element, but not necessarily
their children out of the accessibility tree. Even if they perviously
showed the element or use the element in a name or description calculation
of another element - with the magic hammer - role none / role presentation,
that object will not appear in the accessibility tree.

We have a wiki page with testable statements - which we will use to
generate the test files (via a perl script). I wrote the testable
statements, but they haven't been vetted yet. If you find a statement you
disagree with please let us know. Section 1.4 and 1.5 are about role none
and role presentation respectively.
                                                              
     Regards,                                                 
                                                              
    Fred Esch                                                 
 Watson, IBM, W3C                                             
  Accessibility                                               
                                                              
 IBM Watson       Watson Release Management and Quality       
                                                              






From: Joanmarie <notifications@github.com>
To: w3c/aria <aria@noreply.github.com>
Date: 01/08/2016 03:23 PM
Subject: [aria] SVG-AAM: Consider explicit language regarding objects
            with presentational role and aria-label (#136)



In the SVG-AAM's 5.1.1 Excluding Elements from the Accessibility Tree there
is the following note text:


      The other factors for excluding elements, as described in the Core
      Accessibility API Mappings, are as follows:
            If the first mappable role provided by the author is none or
            presentation, the element must not be exposed.


      [...]


      Consult the original document [CORE-AAM] for the normative text.


One should, of course, consult the CORE-AAM as the good note states. But a
reader of the above text couldn't be blamed all that severely if they read
the above note text and concluded that given


<rect role="none" aria-label="Am I Here?" x="1" y="1" width="10"'
height="10"/>



there should be no accessible object.


If one consults the CORE-AAM for the normative text, 5.1.1 Excluding
Elements from the Accessibility Tree, they would find something quite
similar:


      The following elements are not exposed via the accessibility API and
      user agents MUST NOT include them in the accessibility tree:
            Elements with none or presentation as the first mappable role
            in the role attribute string, according to the rules for the
            none and the presentation role defined in Accessible Rich
            Internet Applications (WAI-ARIA) 1.0 [WAI-ARIA].


So unless the ARIA spec defines a rule for none/presentation that says
otherwise, it would seem that the rect element in the example above does
indeed need to be excluded.


There's a lot of text in the ARIA spec regarding the presentation role, but
for the question at hand this statement seems to be the most relevant:


      For any element with an explicit or inherited role of presentation,
      user agents MUST ignore any non-global, role-specific WAI-ARIA states
      and properties. However, the user agent MUST always expose global
      WAI-ARIA states and properties to accessibility APIs, even if an
      element has an explicit or inherited role of presentation.


(emphasis added)


The aria-label attribute is global. So then the rect element in the example
above would need to be exposed after all (right?).


I mention all of this for a couple of reasons:
   1. By adding explicit language in the SVG-AAM regarding objects with
      presentational role and a valid value for aria-label, implementors
      would not have to do all of the work above I just did. ;) Plus it
      would be clear and eliminate lingering doubts (e.g. an implementor
      might think, "A shape element whose role has been explicitly set to
      none is surely decorative and useless with respect to
      accessibility.")
   2. The work-in-progress tests in the wiki include shapes with
      role="none" and an aria-label, along with expected results of NOAC.
      If the those tests expectations are indeed correct, they seem to be
      in potential conflict with the text I quote above.


—
Reply to this email directly or view it on GitHub.

Received on Monday, 11 January 2016 14:00:50 UTC