Closed Bug 718624 Opened 8 years ago Closed 8 years ago

[Mac] "pressing" links does not work

Categories

(Core :: Disability Access APIs, defect, P1)

x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: MarcoZ, Assigned: hub)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

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.
Blocks: osxa11y
No longer blocks: maca11y
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.
Priority: -- → P1
The mouse pointer is properly positionned.

However we don't deal with the action press in links.
Summary: [Mac] Routing Focus and Mouse pointer to VoiceOver cursor does not work on web pages, works in dialogs. → [Mac] "pressing" links does not work
Attachment #591361 - Flags: review?(surkov.alexander)
Assignee: nobody → hub
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?
Attachment #591361 - Flags: review?(surkov.alexander) → review+
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.
https://hg.mozilla.org/mozilla-central/rev/b07da7be62c2
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.