Last Comment Bug 718624 - [Mac] "pressing" links does not work
: [Mac] "pressing" links does not work
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: Trunk
: x86_64 Mac OS X
: P1 normal (vote)
: mozilla12
Assigned To: Hubert Figuiere [:hub]
:
Mentors:
Depends on:
Blocks: osxa11y
  Show dependency treegraph
 
Reported: 2012-01-17 06:01 PST by Marco Zehe (:MarcoZ)
Modified: 2012-01-28 19:07 PST (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Handle press action on links, expose the URL. r= (9.79 KB, patch)
2012-01-24 20:22 PST, Hubert Figuiere [:hub]
surkov.alexander: review+
Details | Diff | Splinter Review

Description Marco Zehe (:MarcoZ) 2012-01-17 06:01:06 PST
STR:
1. Run the try-server build from http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/hfiguiere@mozilla.com-b2c705a32cf8/.
2. Open a web page.
3. navigate to an element using CTRL+Option+RightArrow.
4. On a link, press CTRL+Option+Space to activate, like is done in Safari.

Result: Fail.
Expected: Success.

5. Observe where the visual focus is. With VoiceOver's default settings, it is expected that the keyboard focus/visual focus jumps to all focusable items the VoiceOver cursor navigates to.

Result: Fail, the visual focus is not on the link VoiceOver was last announcing.
Expedcted: Visual focus should be there.

6. Press CTRL+Option+Cmd+F5 to pull the mouse pointer to the element the VoiceOver cursor sits on. Note that you get vocal confirmation.

Expected: Mouse pointer hovers on link.
Actual: Mose pointer stays at top left corner. I confirmed this by pressing Ctrl+Option+Shift+Space, which simulates a mouse click. It opened the Apple menu instead of clicking the link.

The functionality for VoiceOver to pull keyboard focus by default, and mouse pointer on demand, to the location of the VoiceOver cursor, must be there since this is basic user behavior in VoiceOver.
Comment 1 Marco Zehe (:MarcoZ) 2012-01-18 07:04:56 PST
Basic functionality that needs to be present in order to use the builds effectively and do more hard-core, efficient, testing of many web pages.
Comment 2 Hubert Figuiere [:hub] 2012-01-24 20:14:19 PST
The mouse pointer is properly positionned.

However we don't deal with the action press in links.
Comment 3 Hubert Figuiere [:hub] 2012-01-24 20:22:40 PST
Created attachment 591361 [details] [diff] [review]
Handle press action on links, expose the URL. r=
Comment 4 alexander :surkov 2012-01-26 23:59:34 PST
Comment on attachment 591361 [details] [diff] [review]
Handle press action on links, expose the URL. r=

Review of attachment 591361 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/src/mac/mozHTMLAccessible.mm
@@ +111,5 @@
> +  if ([action isEqualToString:NSAccessibilityPressAction])
> +    mGeckoAccessible->DoAction(0);
> +  else
> +    [super accessibilityPerformAction:action];
> +}

I'd like to see some mapping mechanism between gecko and mac, otherwise you are forced to do assumptions. File a bug?

@@ +119,5 @@
> +  if (!mGeckoAccessible)
> +    return nil;
> +
> +  nsAutoString value;
> +  nsresult rv = mGeckoAccessible->GetValue (value);

why sometimes do you have space after method name and sometimes you don't?
Comment 5 Hubert Figuiere [:hub] 2012-01-27 00:24:51 PST
Comment on attachment 591361 [details] [diff] [review]
Handle press action on links, expose the URL. r=

Review of attachment 591361 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/src/mac/mozHTMLAccessible.mm
@@ +111,5 @@
> +  if ([action isEqualToString:NSAccessibilityPressAction])
> +    mGeckoAccessible->DoAction(0);
> +  else
> +    [super accessibilityPerformAction:action];
> +}

I filed bug 721653.

@@ +119,5 @@
> +  if (!mGeckoAccessible)
> +    return nil;
> +
> +  nsAutoString value;
> +  nsresult rv = mGeckoAccessible->GetValue (value);

My personal style does not put any, including after if. So I got it distorted :-/ I'll fix it.
Comment 7 Joe Drew (not getting mail) 2012-01-28 19:07:51 PST
https://hg.mozilla.org/mozilla-central/rev/b07da7be62c2

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