Closed
Bug 1506514
Opened 6 years ago
Closed 5 years ago
Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Children of not selected deck panel are not accessible.)
Categories
(Core :: Disability Access APIs, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla69
People
(Reporter: m_kato, Assigned: eeejay)
References
Details
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
When I run debug build on my Windows 10 workstation, this assertion always occurs on about:preferences... Maybe, my environment has ATOK IME (https://en.wikipedia.org/wiki/ATOK) that access a11y API, this occurs. Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Children of not selected deck panel are not accessible.), at c:/Development/hg.mozilla.org/mozilla-central/accessible/generic/Accessible.cpp:366 #01: mozilla::a11y::Accessible::State (c:\Development\hg.mozilla.org\mozilla-central\accessible\generic\Accessible.cpp:1215) #02: mozilla::a11y::AccessibleWrap::get_accState (c:\Development\hg.mozilla.org\mozilla-central\accessible\windows\msaa\AccessibleWrap.cpp:581) #03: NdrInterfacePointerMemorySize[C:\WINDOWS\System32\RPCRT4.dll +0x77863] #04: NdrStubCall2[C:\WINDOWS\System32\RPCRT4.dll +0x145b1] #05: NdrStubCall3[C:\WINDOWS\System32\RPCRT4.dll +0x55473] #06: CStdStubBuffer_Invoke[C:\WINDOWS\System32\combase.dll +0xab2b3] #07: CStdStubBuffer_Invoke[C:\WINDOWS\System32\RPCRT4.dll +0x5980b] #08: CoGetCurrentLogicalThreadId[C:\WINDOWS\System32\combase.dll +0x99a93] #09: CoGetCurrentLogicalThreadId[C:\WINDOWS\System32\combase.dll +0x99884] #10: CoGetMalloc[C:\WINDOWS\System32\combase.dll +0xae536] #11: CoRegisterPSClsid[C:\WINDOWS\System32\combase.dll +0x53a75] #12: CoWaitForMultipleHandles[C:\WINDOWS\System32\combase.dll +0x7b512] #13: CoUnmarshalInterface[C:\WINDOWS\System32\combase.dll +0x60c40] #14: CoUnmarshalInterface[C:\WINDOWS\System32\combase.dll +0x613f1] #15: CoUnmarshalInterface[C:\WINDOWS\System32\combase.dll +0x70721] #16: DispatchMessageW[C:\WINDOWS\System32\user32.dll +0xca66] #17: DispatchMessageW[C:\WINDOWS\System32\user32.dll +0xc582] #18: nsAppShell::ProcessNextNativeEvent (c:\Development\hg.mozilla.org\mozilla-central\widget\windows\nsAppShell.cpp:554) #19: nsBaseAppShell::OnProcessNextEvent (c:\Development\hg.mozilla.org\mozilla-central\widget\nsBaseAppShell.cpp:291) #20: nsThread::ProcessNextEvent (c:\Development\hg.mozilla.org\mozilla-central\xpcom\threads\nsThread.cpp:1160) #21: NS_ProcessNextEvent (c:\Development\hg.mozilla.org\mozilla-central\xpcom\threads\nsThreadUtils.cpp:530) #22: mozilla::ipc::MessagePump::Run (c:\Development\hg.mozilla.org\mozilla-central\ipc\glue\MessagePump.cpp:97) #23: MessageLoop::RunHandler (c:\Development\hg.mozilla.org\mozilla-central\ipc\chromium\src\base\message_loop.cc:319) #24: MessageLoop::Run (c:\Development\hg.mozilla.org\mozilla-central\ipc\chromium\src\base\message_loop.cc:299) #25: nsBaseAppShell::Run (c:\Development\hg.mozilla.org\mozilla-central\widget\nsBaseAppShell.cpp:160) #26: nsAppShell::Run (c:\Development\hg.mozilla.org\mozilla-central\widget\windows\nsAppShell.cpp:420) #27: nsAppStartup::Run (c:\Development\hg.mozilla.org\mozilla-central\toolkit\components\startup\nsAppStartup.cpp:291) #28: XREMain::XRE_mainRun (c:\Development\hg.mozilla.org\mozilla-central\toolkit\xre\nsAppRunner.cpp:4791) #29: XREMain::XRE_main (c:\Development\hg.mozilla.org\mozilla-central\toolkit\xre\nsAppRunner.cpp:4936) #30: XRE_main (c:\Development\hg.mozilla.org\mozilla-central\toolkit\xre\nsAppRunner.cpp:5028) #31: NS_internal_main (c:\Development\hg.mozilla.org\mozilla-central\browser\app\nsBrowserApp.cpp:315) #32: wmain (c:\Development\hg.mozilla.org\mozilla-central\toolkit\xre\nsWindowsWMain.cpp:143) #33: __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:288) #34: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x17e94] #35: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x67ad1]
Updated•6 years ago
|
Priority: -- → P3
Comment 1•5 years ago
|
||
From a user perspective, this causes the text of inactive deck panels to be exposed. This is particularly problematic after bug 1429940, since the intention is now that Preferences can be browsed like a document. For example, in the Updates section, I see: Keep Nightly up to date for the best performance, stability, and security. Version 65.0a1 (2018-12-07) (64-bit) What’s new Show Update History… Restart to update Nightly Checking for updates…Applying update…Update failed. Download the latest versionUpdates disabled by your system administratorNightly is up to dateNightly is being updated by another instanceUpdates available at You can not perform further updates on this system. Restarting… We have code in nsAccessibilityService::CreateAccessible to prevent inactive deck panels from being created. That also prevents recursion into their subtrees. However, this doesn't seem to work for these text nodes, even though the label elements are pruned. My guess is that the text nodes are created after the initial a11y tree update. This code doesn't handle descendants, only direct children of the deck, so it won't catch descendants that are added after the initial update.
Updated•5 years ago
|
Priority: P3 → P2
Assignee | ||
Updated•5 years ago
|
Assignee: nobody → eitan
Assignee | ||
Comment 2•5 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Pushed by eisaacson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f0d9b81a5aed Don't create accessibles for unselected deck panel descendants. r=Jamie
Comment 5•5 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 5 years ago
status-firefox69:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Updated•5 years ago
|
Updated•5 years ago
|
status-firefox68:
--- → affected
Comment 6•5 years ago
|
||
Please nominate this for Beta approval when you get a chance. It grafts cleanly as-landed.
Flags: needinfo?(eitan)
Comment 7•5 years ago
|
||
Eitan is on PTO. I'll nominate it.
Updated•5 years ago
|
Flags: needinfo?(eitan)
Comment 8•5 years ago
|
||
Comment on attachment 9065756 [details]
Bug 1506514 - Don't create accessibles for unselected deck panel descendants. r?Jamie!
Beta/Release Uplift Approval Request
- User impact if declined: Screen reader users will see (and potentially be confused by) text that isn't actually visible (nor intended to be seen) in the Updates section of Preferences and probably other areas. Also, without this patch, the URL bar accessibility test frequently triggers a related assertion.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Only affects a specific area of XUL accessibility. Covered by automated tests.
- String changes made/needed: None.
Attachment #9065756 -
Flags: approval-mozilla-beta?
Comment 9•5 years ago
|
||
Comment on attachment 9065756 [details]
Bug 1506514 - Don't create accessibles for unselected deck panel descendants. r?Jamie!
a11y fix for 68.0b9
Attachment #9065756 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 10•5 years ago
|
||
bugherder uplift |
You need to log in
before you can comment on or make changes to this bug.
Description
•