AXTitleUIElement (was Re: Test Assertions with Tables)

Hey all.

When looking at Fred's updated assertions, I noticed that exposure of
aria-labelledby via non-null RELATION_LABELLED_BY (ATK/AT-SPI2) and
non-null AXTitleUIElement (Mac) are now included in the expectations. I
had not explicitly implemented that in WebKit as part of my initial
commit for a couple of reasons:

1. From a functional point of view, this exposure is primarily needed
   for controls/widgets.
2. This exposure is not needed for the name computation.

Now that it's in your assertions, and having verified we aren't getting
it "for free" from the Core ARIA support, it seems I need to do it. ;)
Mea culpa.

To rectify this, I filed https://bugs.webkit.org/show_bug.cgi?id=155481
and proposed a patch for ATK as well as asked Chris (Apple accessibility
developer) about his platform. The relevant comment is comment 9,
content here for your convenience:

==================================
(In reply to comment #3)
> Chris: The attached patch only does the exposure for ATK, though I did
> update the layout test for the Mac which currently indicates the elements
> are not being exposed via AXTitleUIElement.
>
> According to the current expectations of the SVG Accessibility Task Force
> [1], there are a number of instances in which the elements should be
exposed
> via AXTitleUIElement. Could you please either confirm that their
> expectations are correct (in which case I'll do a new patch that also
> handles exposure for the Mac), or let me know that they are wrong (in
which
> case, I'll pass that along to them)?
>

THere has been some talk of exposing labelledby- as elements in title UI
Elements, but so far we've just take the string concatenation. We could
fix that in the future, but i don't know if i've seen a real world case
where it's made a difference yet
==================================

Given his response, I subsequently tried to come up with a real-world
test case in which VoiceOver did the wrong thing as result of
aria-labelledby being included in the computed name string but not also
exposed via AXTitleUIElement. I couldn't come up with one. And the
platform expert doesn't seem to have one. As a result, what has just
been committed does implement your stated expectation for ATK; it does
not, however, for AX API. (https://trac.webkit.org/changeset/198254)

So now we're at an interesting spot. On the one hand, you have this
expectation -- an expectation based on the Core AccName spec which
clearly states for the Mac:

    aria-labelledby:

    If aria-labelledby references a single element, expose the labeling
    relationship as element AXTitleUIElement

And that statement is also found in the 1.0 spec. So from the spec (and
your) point of view, the expectations defined on your wiki are 100%
correct and AXTitleUIElement should be part of the implementation.

But from the user agent and AT standpoint: If the name is correctly
exposed via the computed name string, and if exposure as per the spec
will not have any impact because the AT doesn't need that exposure, why
should the user agent do unneeded extra work? "Because the spec says
so," does not strike me as a particularly compelling reason.

It seems to me that we have at least a couple of options:

1. Provide the real-world test case for the Mac that I failed to come
   up with in which exposing the value of aria-labelledby in the name
   computation, but failing to also expose it through AXTitleUIElement,
   makes VoiceOver (or another OS X AT) do the wrong thing for SVG.

2. Remove the AXTitleUIElement exposure requirement from your testing
   expectations; verify exposure through AXDescription. What you're
   presumably most interested in testing is that the SVG AAM computed
   name string is being computed correctly, and this can be verified
   through the value of AXDescription. Furthermore, because WebKit
   already exposes aria-labelledby via AXTitleUIElement for Core ARIA,
   we can already prove implementability.

3. <Your suggestion here>

If you have questions -- or better yet, that real-world test case which
illustrates AXTitleUIElement exposure is needed for SVG -- please let me
know.

Thanks!
--joanie

On 03/11/2016 03:21 PM, Fred Esch wrote:
> All,
> 
> Please let me know what needs to be fixed with the Test Assertions with
> Tables
> <https://www.w3.org/wiki/SVG_Accessibility/Testing/Test_Assertions_with_Tables>.
> This was generated from the current Test Assertions in the wiki and I
> can regenerate it if you want things changed. I am aware of the testable
> statement being repeated and sometimes the upper on drops part of the
> expected result.
> 
> 
> Regards,
> 
> Fred Esch
> Watson, IBM, W3C Accessibility
> IBM Watson	Watson Release Management and Quality
> 
> 
> 

Received on Wednesday, 16 March 2016 02:05:45 UTC