Last Comment Bug 689847 - Expose active state on current item of selectable widgets
: Expose active state on current item of selectable widgets
: access
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: unspecified
: All All
-- normal (vote)
: mozilla11
Assigned To: alexander :surkov
: alexander :surkov
: 407597 (view as bug list)
Depends on:
Blocks: aria statea11y
  Show dependency treegraph
Reported: 2011-09-27 21:14 PDT by alexander :surkov
Modified: 2012-02-14 17:56 PST (History)
1 user (show)
surkov.alexander: in‑testsuite+
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

patch (6.15 KB, patch)
2011-11-28 05:40 PST, alexander :surkov
no flags Details | Diff | Splinter Review
patch2 (7.31 KB, patch)
2011-11-28 06:07 PST, alexander :surkov
dbolter: review+
Details | Diff | Splinter Review

Description User image alexander :surkov 2011-09-27 21:14:29 PDT
This is requirement of ARIA spec -

If ARIA widgets needs that native widgets should follow to be consistent.

IA2 provides IA2_STATE_ACTIVE which is described as:

This state can be used to indicate the current active item in a container, even 
  if the container itself is not currently active. In other words this would indicate
  the item that will get focus if you tab to the container.
Comment 1 User image alexander :surkov 2011-11-28 05:40:18 PST
Created attachment 577231 [details] [diff] [review]

besides we follow the spec this state should be useful for virtual cursor implementations when AT navigates the document without focus changing.
Comment 2 User image alexander :surkov 2011-11-28 06:07:17 PST
Created attachment 577236 [details] [diff] [review]

actually ARIA part was implemented in bug 403260. Make items of all widgets to expose active state.
Comment 3 User image David Bolter [:davidb] 2011-11-28 06:16:17 PST
Comment on attachment 577236 [details] [diff] [review]

Review of attachment 577236 [details] [diff] [review]:

r=me. nice.

::: accessible/src/base/nsAccessible.cpp
@@ +1548,5 @@
> +    // descendant is the current one that would get focus if the user navigates
> +    // to the container widget.
> +    nsAccessible* widget = ContainerWidget();
> +    if (widget && widget->CurrentItem() == this)
> +      state |= states::ACTIVE;

Very nice change (I forgot about CurrentItem).
Comment 4 User image alexander :surkov 2011-12-07 01:11:28 PST
inbound land -
Comment 5 User image Matt Brubeck (:mbrubeck) 2011-12-07 12:23:35 PST
Comment 6 User image alexander :surkov 2012-02-14 17:56:56 PST
*** Bug 407597 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.