Edit ACTION-1529: Investigate the proper atk/at-spi mappings for aria-current

Title:

State:

Person:

Due Date:

(accepts formats such as "2005-05-17", "+1 week", "14 August 2005" and "next Thursday")

Associated Issue:

Or Associated Product:

Add notes (no markup allowed, URIs get automatically hyperlinked):

Related emails:

  1. PFWG-ACTION-1529: Investigate the proper atk/at-spi mappings for aria-current (from sysbot+tracker@w3.org on 2014-11-11) (from sysbot+tracker@w3.org on 2014-11-11)

Related notes:

The mapping should be via state, in particular ATK_STATE_ACTIVE. As defined at https://developer.gnome.org/atk/unstable/atk-AtkState.html#AtkStateType:

<quote>
ATK_STATE_ACTIVE
Indicates a window is currently the active window, or is an active subelement within a container or table
</quote>

As an aside, upon first glance, one might conclude that ACTIVE is limited to windows. But windows cannot be "an active subelement within a container or table." Moreover, we fixed the documentation language to make that more clear and also added further documentation to distinguish ACTIVE from FOCUSED and SELECTED. That documentation clarification has already been committed: https://git.gnome.org/browse/atk/commit/?id=cb69932, but the link at the top of this comment won't contain the new documentation until we do another ATK release (likely within a couple of weeks).

Transferring to Joseph for addition to the mapping table.

Joanmarie Diggs, 13 Nov 2014, 22:12:08

1. Noting that there is a corresponding ATSPI_STATE_ACTIVE with the same definition at https://developer.gnome.org/libatspi/2.13/libatspi-atspi-constants.html#ATSPI-STATE-ACTIVE:CAPS. I imagine you'll want to make similar edits to this documentation as you did to the ATK_STATE_ACTIVE.

2. Does mapping to a state incur any changes to the state and property change events table:
http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#mapping_events_state-change

More specifically, does changing the value of aria-current result in object:state-changed:active event?

Sending back to Joanie for her consideration.

Joseph Scheuhammer, 14 Nov 2014, 14:36:54

1. Thanks for the reminder about AT-SPI2's docs. Bug opened and patch provided: https://bugzilla.gnome.org/show_bug.cgi?id=740274

2. Well, there's the events table (i.e. ARIA), and there's what is expected when the state of an accessible object changes in <insert any ATK implementation here, including desktop applications and toolkits>.

With respect to the latter, the expectation has always been that as a general rule[*], when the state changes, a state-change notification is expected. Otherwise, how is an AT on the platform to know? Mind you, this is something I had always assumed was obvious -- and implementors seem to have as well because we always got notifications of state changes when the state changed. But a while back an implementor of a web engine made me think that this assumption was not necessarily universally shared. ;) So the other day, when I was on my doc-writing spree, I made that explicit too: https://bugzilla.gnome.org/show_bug.cgi?id=740066.

As for the events table, I'm not sure if it would/should incur a corresponding statement about the need for the implementor to emit a state-change signal. On the one hand, they need to do it. On the other hand, that's always the case and it has nothing to do with ARIA.

Back to you Joseph. :)

--

[*] Unless there's a darned good reason not to. A darned good reason might include the multiple state changes per object associated with the destruction of that object, which is being destroyed along with thousands of other sibling objects because the data table containing them got new contents. No one has time for that sort of thing.

Joanmarie Diggs, 17 Nov 2014, 17:11:19

Some confusion: The value of aria-current defines "how" the element is current, e.g., current "page". The ATK/AT-SPI STATE_ACTIVE indicates only that the accessible is current.

So: How are the values of aria-current [page, step, location, date, time] represented in ATK/AT-SPI?

Joseph Scheuhammer, 11 Jun 2015, 14:10:22

I still think we want to use ATK_STATE_ACTIVE as described. We can then use an object attribute to provide further detail regarding what it's active for (e.g. page). Whatever object attribute is good for IA2 is fine for me.

Joanmarie Diggs, 23 Jun 2015, 19:28:09

Edits made:
https://github.com/w3c/aria/commit/de39ed3cdf37d6d7d3c701afc089cddf842cfd05

Changing status to "pending review".

Joseph Scheuhammer, 25 Jun 2015, 15:57:47

Fixed copy/paste error regarding UIA ToggleStateProperty in event mapping table.

Links to review include aria-current mappings:
http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#ariaCurrent
http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#ariaCurrentUndefined

and event mappings:
http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#event-aria-current

Joseph Scheuhammer, 21 Sep 2015, 17:23:06

Closing based on AAPI meeting 12-Jan-2016, and followup IRC chat with Joanie about he ATK/AT-SPI events.

Note that the mapping table still needs work wrt the mapping entries for the default value of aria-current. Remove? Leave as "not mapped"?

Joseph Scheuhammer, 18 Jan 2016, 18:48:23


Joanmarie Diggs <jdiggs@igalia.com>, James Nurthen <nurthen@adobe.com>, Chairs, Michael Cooper <cooper@w3.org>, Ruoxi Ran <ran@w3.org>, Staff Contacts
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: index.php,v 1.326 2018/10/13 17:29:51 vivien Exp $