After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 671404 - Orca doesn't present some elements at user menu
Orca doesn't present some elements at user menu
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on: 667432
Blocks:
 
 
Reported: 2012-03-05 18:40 UTC by Alejandro Piñeiro Iglesias (IRC: infapi00)
Modified: 2012-03-15 18:10 UTC
See Also:
GNOME target: 3.4
GNOME version: 3.3/3.4


Attachments
userMenu support for IMStatus combobox and suspend/power-off label (2.65 KB, patch)
2012-03-05 18:51 UTC, Alejandro Piñeiro Iglesias (IRC: infapi00)
reviewed Details | Review
userMenu support for IMStatus combobox and suspend/power-off label (2.91 KB, patch)
2012-03-12 17:33 UTC, Alejandro Piñeiro Iglesias (IRC: infapi00)
committed Details | Review

Description Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-03-05 18:40:21 UTC
STEPS TO REPRODUCE

0. Precondition: Orca + GNOME Shell running
1. Ctrl+Alt+Tab select Top Bar, navigate to the user menu (top right)
2. Start to navigate on the menu (down and up arrows)

EXPECTED OUTCOME:

All the elements are exposed

ACTUAL OUTCOME

Some missing elements:
 a) IMStatus combobox: doesn't present combobox role or selected item
 b) If you press the enter on the combo box a popup menu appears, and you can select items with keys, orca doesn't present it
 c) Suspend/Power off label are not present
Comment 1 Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-03-05 18:51:24 UTC
Created attachment 209022 [details] [review]
userMenu support for IMStatus combobox and suspend/power-off label

This patch fixes all the issues explained at comment 0.

One could wonder why I add a new label_actor relation on IMStatusItem._init, as I do the same on some of his siblings (PopupMenuItem._init, PopupSwitchMenuItem._init, etc), and that would make sense to do that just onece, on his subclass, PopupBaseMenuItem._item. But that could be only possible if I assume that PopupBaseMenuItem will always have a label, something that it is not always true. ie: PopupSeparatorMenuItem and PopupSliderMenuItem
Comment 2 Dan Winship 2012-03-09 15:19:23 UTC
Comment on attachment 209022 [details] [review]
userMenu support for IMStatus combobox and suspend/power-off label

>+    getMenuItem: function(position) {
>+        return this._getMenuItems()[position];
>+    },

It looks like really all you need is to add getActiveItem() to PopupComboMenu to match setActiveItem().

>+    checkAccessibleLabel: function() {
>+        let activeItem = this._menu.getMenuItem (this._activeItemPos);

nitpick: no space before "(" there.
Comment 3 Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-03-12 17:33:53 UTC
Created attachment 209514 [details] [review]
userMenu support for IMStatus combobox and suspend/power-off label

(In reply to comment #2)
> (From update of attachment 209022 [details] [review])
> >+    getMenuItem: function(position) {
> >+        return this._getMenuItems()[position];
> >+    },
> 
> It looks like really all you need is to add getActiveItem() to PopupComboMenu
> to match setActiveItem().

Well I tried to match with PopupMenuBase.firstMenuItem, to have a more general method (get any item, instead of just first item). In fact it would be easy to remove firstMenuItem, and call getMenuItem(0)

Anyway this patch removes PopupMenuBase.getMenuItem and adds PopupComboMenu.getActiveItem() as suggested.

> >+    checkAccessibleLabel: function() {
> >+        let activeItem = this._menu.getMenuItem (this._activeItemPos);
> 
> nitpick: no space before "(" there.

Fixed.

This updated patch also adds:
const Atk = imports.gi.Atk

So this could be applied independently of patch at bug 667432 (but we need to take that into account as patch at bug 667432 also adds that line).
Comment 4 Dan Winship 2012-03-15 17:49:58 UTC
Comment on attachment 209514 [details] [review]
userMenu support for IMStatus combobox and suspend/power-off label

looks right
Comment 5 Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-03-15 18:10:01 UTC
(In reply to comment #4)
> (From update of attachment 209514 [details] [review])
> looks right

Committed a slightly changed patch, as I removed this line:

const Atk = imports.gi.Atk;

That was already added when I closed bug 667432