Re: ARIA Test Cases 86 and 87 are invalid

Rich,

> Joseph,
>
> Net. Net: So, do I need to change the expected results for these 
> tests: 85-88 based on this discussion?
>
> https://www.w3.org/WAI/PF/testharness/testcases?testsuite_id=2
>
> Rich

Net?  Are you fishing?  ;-)

I suspect you need to change the testable statements and test files for 
85-88, but not the expected results.  The expected results are pretty 
much verbatim from the UAIG (but I've looked at only one or two test 
cases).  Make sure the testable statement provides the proper scenario 
that leads to the expected result.  Also, the change in testable 
statement likely affects the markup of the test file.

Using 85 as the example, assuming it is a test of a multiselectable 
container (not sure):

Testable statement is currently:
 > div element with role="listbox" and child div with role="option" and 
tabindex="0", set focus to the option by tabbing to Item 1.

But it should be:
 > div element with role="listbox" and aria-multiselectable="true", and 
child div elements with role="option" and tabindex="0", and focus is 
moved among the options via TAB and SHIFT-TAB keystrokes.

Expected results are correct, because it now does qualify as a 
"selection follows focus" scenario.

Test file is needs modification 
(https://dvcs.w3.org/hg/pfwg/raw-file/default/ARIA-UAIG/1.0/tests/test-files/test85.html), 
and here is one way to do it:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
     <head>
         <title>div element with role="listbox" and 
aria-multiselectable="true", and child div elements with role="option" 
and tabindex="0" and focus is moved among the options via TAB and 
SHIFT-TAB keystrokes.</title>
         <script type="text/javascript">

             function select (element) {
               element.setAttribute ('aria-selected', 'true');
             }

             function deselect (element) {
               element.setAttribute ('aria-selected', 'false');
             }

         </script>
     </head>
     <body>
         <div role="listbox" aria-multiselectable="true">
             <div role="option" id="testItem1" tabindex="0" 
aria-selected="false" onfocus="select(this)" 
onblur="deselect(this);">Item 1</div>
             <div role="option" id="testItem2" tabindex="0" 
aria-selected="false" onfocus="select(this)" 
onblur="deselect(this);">Item 2</div>
         </div>
     </body>
</html>

Someone should double-check the above and confirm the script is 
correct.  Alex?

And, actually, the above test file will work with a single selection 
listbox if the aria-multiselectable="true" is dropped from the outer <div>.

Hope that helps.

-- 
;;;;joseph.


'A: After all, it isn't rocket science.'
'K: Right. It's merely computer science.'
              - J. D. Klaun -

Received on Friday, 20 September 2013 18:37:15 UTC