W3C home > Mailing lists > Public > public-aria@w3.org > February 2016

Re: ACTION-1490 Resetting the combobox discussion -- part 1 -- textbox/popup relationship

From: Joseph Scheuhammer <clown@alum.mit.edu>
Date: Thu, 18 Feb 2016 11:53:38 -0500
To: Matt King <a11ythinker@gmail.com>, ARIA Working Group <public-aria@w3.org>
Message-ID: <56C5F712.3020109@alum.mit.edu>
Hi Matt,

On 2016-02-17 1:22 AM, Matt King wrote:
> This alternative proposal for ARIA 1.1 comboboxes is a small variation on
> one of the patterns hinted at but not fully explained in the 1.0 spec. It is
> for the combobox to be a container element as follows.
>
> <!-- collapsed state where focus is in the textbox -->
> <div tabindex="0"
>    role="combobox"
>    aria-expanded="false"
>    Aria-activedescendant="tb">
>    <span id="tb" tabindex="-1" role="textbox" contenteditable>Type a
> value</span>
>    <span aria-owns="lb"></span>
> </div>
> <ul id="lb" role="listbox" style="display:none">
>    <!-- I am collapsed right now so I am not visible and do not have content
> -->
> </ul>

Can you explain why one cannot put aria-owns on the <div> with 
role="combobox" in this case?  The original problem was that aria-owns 
was on the textbox and that caused (some) screen readers to pull all the 
contents of the listbox into the textbox.  And, that was because the 
combobox role was placed on the textbox itself.

In contrast, in your new example above, the textbox is a DOM child of 
the combobox --  the combobox and the textbox are separate accessibles, 
one containing the other.  And, I recall you saying at one of the 
telecons that the textbox and the listbox should be siblings (I agree, BTW).

So, if either (1) aria-owns is an attribute of the combobox <div>, or 
(2) the listbox is within the combobox <div> as a DOM sibling of the 
textbox, that should mean that the contents of the listbox won't be 
pulled into the textbox.

Or do screen readers insist on pulling it in anyway?  If so, why?  A 
combobox is a composite widget that has sub-parts, and, in your new 
example, it's marked up as a composite.

There is a similar example of  combobox in the 1.0 test harness that 
uses a <div> with role combobox as a container for both the textbox, and 
the listbox.  For comparison, the test file is:
https://dvcs.w3.org/hg/pfwg/raw-file/default/ARIA/1.0/tests/test-files/roles-properties-supported-inherited/roles-properties-supported-inherited-combobox-aria-activedescendant-obj1.html

-- 
;;;;joseph.

'Die Wahrheit ist Irgendwo da Draußen. Wieder.'
                  - C. Carter -
Received on Thursday, 18 February 2016 16:54:08 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:23:20 UTC