Last Comment Bug 668469 - "Assertion failure in -[mozRootAccessible didReceiveFocus]" "trying to set focus to ignored element"
: "Assertion failure in -[mozRootAccessible didReceiveFocus]" "trying to set fo...
Status: RESOLVED FIXED
: testcase
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: Trunk
: x86_64 Mac OS X
: -- normal with 1 vote (vote)
: mozilla17
Assigned To: Hubert Figuiere [:hub]
: accessibility-apis
: alexander :surkov
Mentors:
: 450531 761574 (view as bug list)
Depends on:
Blocks: osxa11y 594645 761574
  Show dependency treegraph
 
Reported: 2011-06-30 02:05 PDT by Jesse Ruderman
Modified: 2012-08-28 00:03 PDT (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
testcase (125 bytes, text/html)
2011-06-30 02:05 PDT, Jesse Ruderman
no flags Details
Don't ignore focusable elements. r= (1.06 KB, patch)
2012-08-22 07:34 PDT, Hubert Figuiere [:hub]
surkov.alexander: review+
hub: checkin+
Details | Diff | Splinter Review
Part 2: use InteractiveState() instead of NativeInteractiveState(). (1.11 KB, patch)
2012-08-24 20:48 PDT, Hubert Figuiere [:hub]
surkov.alexander: review+
hub: checkin+
Details | Diff | Splinter Review

Description Jesse Ruderman 2011-06-30 02:05:10 PDT
Created attachment 543093 [details]
testcase

1. Build Firefox with --enable-accessibility.
2. Enable accessibility, e.g. by pasting the following into the js console:

Components.classes["@mozilla.org/accessibilityService;1"]
      .getService(Components.interfaces.nsIAccessibleRetrieval);

3. Load the testcase.
4. Click the button.

Result:

2011-06-30 01:59:27.785 firefox-bin[55214:903] *** Assertion failure in -[mozRootAccessible didReceiveFocus], /Users/jruderman/trees/mozilla-central/accessible/src/mac/mozAccessible.mm:582

2011-06-30 01:59:27.786 firefox-bin[55214:903] Mozilla has caught an Obj-C exception [NSInternalInconsistencyException: trying to set focus to ignored element! ((0x129cb4b10) AXUnknown)]

"Regression" from bug 524775.

This assertion is also mentioned in bug 450531, fwiw.
Comment 1 Hubert Figuiere [:hub] 2011-12-07 14:29:54 PST
I can't reproduce this on my tree....
Comment 2 Jesse Ruderman 2011-12-07 14:33:50 PST
Still happens for me, using a debug build from Tinderbox on Mac OS X 10.6.
Comment 3 Hubert Figuiere [:hub] 2011-12-12 15:28:05 PST
(In reply to Jesse Ruderman from comment #2)
> Still happens for me, using a debug build from Tinderbox on Mac OS X 10.6.

Which tinderbox build? One that does enable a11y or the regular one (that has it disabled)?
Comment 4 Jesse Ruderman 2011-12-12 15:37:48 PST
I can reproduce with the build in https://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-macosx64-debug/1323730278/, for example. It's built with --enable-accessibility.  (IIRC, the "regular" Mac debug builds have accessibility enabled iff they are 64-bit builds.)
Comment 5 Hubert Figuiere [:hub] 2011-12-12 16:35:35 PST
Even with that built I can't reproduce...
Comment 6 Hubert Figuiere [:hub] 2012-07-03 14:31:58 PDT
I have gotten that with DOM Inspector.
Comment 7 Hubert Figuiere [:hub] 2012-07-06 11:23:13 PDT
Unlike I said in comment 5 I completely can reproduce with the test case.
Comment 8 Hubert Figuiere [:hub] 2012-08-22 07:33:07 PDT
*** Bug 450531 has been marked as a duplicate of this bug. ***
Comment 9 Hubert Figuiere [:hub] 2012-08-22 07:34:23 PDT
Created attachment 654200 [details] [diff] [review]
Don't ignore focusable elements. r=
Comment 10 Hubert Figuiere [:hub] 2012-08-22 07:35:36 PDT
Comment on attachment 654200 [details] [diff] [review]
Don't ignore focusable elements. r=

This is as proposed in bug 761574
Comment 11 alexander :surkov 2012-08-24 00:36:48 PDT
Comment on attachment 654200 [details] [diff] [review]
Don't ignore focusable elements. r=

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

r=me, thank you

::: accessible/src/mac/mozAccessible.mm
@@ +101,5 @@
>  
>    // unknown (either unimplemented, or irrelevant) elements are marked as ignored
>    // as well as expired elements.
> +  return !mGeckoAccessible || ([[self role] isEqualToString:NSAccessibilityUnknownRole] &&
> +                               !(mGeckoAccessible->State() & states::FOCUSABLE));

use NativeInteractiveState
Comment 13 :Ms2ger (⌚ UTC+1/+2) 2012-08-24 06:48:38 PDT
Backed out because it landed on a burning tree

https://hg.mozilla.org/integration/mozilla-inbound/rev/46365c62935c
Comment 15 alexander :surkov 2012-08-24 17:43:47 PDT
Hub, sorry to say that, but InteractiveState should be used instead, otherwise aria-descendant logic which affects on focusable state is ignored.
Comment 16 Hubert Figuiere [:hub] 2012-08-24 19:38:58 PDT
ok, I'll fix it.
Comment 17 Ryan VanderMeulen [:RyanVM] 2012-08-24 20:02:48 PDT
https://hg.mozilla.org/mozilla-central/rev/7055bd788274
Comment 18 Hubert Figuiere [:hub] 2012-08-24 20:48:51 PDT
Created attachment 655261 [details] [diff] [review]
Part 2: use InteractiveState() instead of NativeInteractiveState().
Comment 19 alexander :surkov 2012-08-25 04:50:38 PDT
Comment on attachment 655261 [details] [diff] [review]
Part 2: use InteractiveState() instead of NativeInteractiveState().

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

you don't really need review for this
Comment 21 Ryan VanderMeulen [:RyanVM] 2012-08-25 19:25:43 PDT
https://hg.mozilla.org/mozilla-central/rev/0b399d43b570
Comment 22 alexander :surkov 2012-08-28 00:03:04 PDT
*** Bug 761574 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.