- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Wed, 26 Nov 2014 13:28:32 -0500
- To: Alexander Surkov <surkov.alexander@gmail.com>, "LWatson@PacielloGroup.com" <LWatson@paciellogroup.com>, Matthew King <mattking@us.ibm.com>, Joanie Diggs <diggs@igalia.com>
- CC: "White, Jason J" <jjwhite@ets.org>, Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>, "Gunderson, Jon R" <jongund@illinois.edu>, "public-pfwg@w3.org" <public-pfwg@w3.org>
Hi Alex,
On 2014-11-26 10:28 AM, Alexander Surkov wrote:
> Can you think of use case where aria-activedescendant and aria-current
> can be used for different elements of the same container?
The example I gave using site navigation applies:
http://idrc.ocad.ca/index.php/research-and-development/ongoing-projects.
The site index can be navigated using up/down arrow keys, moving focus
from link to link, but the "you-are-here" link doesn't change. Thus,
"focus" is independent of "current" in the same container.
Now, while the site doesn't use actually aria-activedescendant for focus
traversal, it could. Which means aria-activedescendant and aria-current
will be used for different elements in the same container. Furthermore,
in this example, aria-activedescendant would be a property of the
container element that holds all of the links, and it would point to the
link with focus. In contrast, aria-current is property of one of the
links, and not a property of the container:
<div id="left-col" aria-activedescendant="item-2">
...
<ul>
<li id="item-1">...</li>
<li id="item-2"> ...</li> <!-- This is the active descendant -->
...
<li id="item-42" aria-current="true"> ... </li> <!-- You are here -->
...
</div>
> Otherwise why would not extend meaning of aria-activedescendant to fit
> aria-current needs like the attribute pointing to currently active
> element?
Because aria-activedescendant is about focus, whereas aria-current is
about orientation. I don't think aria-current "points" to anything
since it's just a boolean value. Léonie, Matt, does it?
>
> There's some confusion with naming. Dominic suggest to rename it to
> aria-active what makes it sound close to aria-activedescendant.
That's an argument against naming it aria-active, since it could lead to
author confusion as to which attribute to use where.
> Joanie suggests to map it to ATK active state which is currently used
> for active windows only.
The ATK documents have been updated [1]. ATK_STATE_ACTIVE applies to
more than windows. Furthermore, ATK_STATE_ACTIVE is distinct from
ATK_STATE_FOCUSED and ATK_STATE_SELECTED.
However, I see a problem. The latest documentation also says
"ATK_STATE_ACTIVE should not be used for objects which have
ATK_STATE_FOCUSABLE or ATK_STATE_SELECTABLE". But, that's ambiguous.
It might be saying, "do not use ATK_STATE_ACTIVE for focus or selection
states". Or, it might mean "something that is focusable or selectable
can never have ATK_STATE_ACTIVE", which is counter to the site index
example above. Joanie, can you clarify?
> IA2 has active state that can be used both for windows or current
> element within controls (i.e used for aria-activedescendant case).
> Obviously current and active in a container concepts are close and
> have a subtle difference (if they have).
>
[1] https://developer.gnome.org/atk/unstable/atk-AtkState.html
--
;;;;joseph.
'Array(16).join("wat" - 1) + " Batman!"'
- G. Bernhardt -
Received on Wednesday, 26 November 2014 18:29:07 UTC