Bug 252321 - AX: In rare scenarios, WebKit fails to expose the text associated with various types of elements / nodes (text, headings)
Summary: AX: In rare scenarios, WebKit fails to expose the text associated with variou...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Tyler Wilcock
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-02-15 09:49 PST by Tyler Wilcock
Modified: 2023-02-18 16:44 PST (History)
10 users (show)

See Also:


Attachments
Patch (7.50 KB, patch)
2023-02-15 20:33 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff
Patch (9.26 KB, patch)
2023-02-16 21:31 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff
Patch (10.47 KB, patch)
2023-02-17 20:06 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff
Patch (10.95 KB, patch)
2023-02-18 11:16 PST, Tyler Wilcock
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tyler Wilcock 2023-02-15 09:49:25 PST
This results in accessibility clients not getting the information they need to make the correct announcement.
Comment 1 Radar WebKit Bug Importer 2023-02-15 09:49:36 PST
<rdar://problem/105501379>
Comment 2 Tyler Wilcock 2023-02-15 20:23:21 PST
rdar://102025959
Comment 3 Tyler Wilcock 2023-02-15 20:33:47 PST
Created attachment 465018 [details]
Patch
Comment 4 chris fleizach 2023-02-16 10:24:46 PST
Comment on attachment 465018 [details]
Patch

Talked with Tyler and given that the new test exercises this code path without causing problems is a good sign that this is correct behavior
Comment 5 Tyler Wilcock 2023-02-16 10:26:16 PST
For more context, these checks were originally added in:

https://github.com/WebKit/WebKit/commit/e55881c553216d5c417ed9ac9dbb48c079e689ec

(search for "recalc")

That commit added a test called accessibility/heading-crash-after-hidden.html which we still pass in release and debug with this change.
Comment 6 Tyler Wilcock 2023-02-16 21:31:17 PST
Created attachment 465043 [details]
Patch
Comment 7 Andres Gonzalez 2023-02-17 14:04:44 PST
(In reply to Tyler Wilcock from comment #6)
> Created attachment 465043 [details]
> Patch

diff --git a/LayoutTests/accessibility/empty-text-under-element-cached.html b/LayoutTests/accessibility/empty-text-under-element-cached.html
new file mode 100644
index 000000000000..d74525ca8d60
--- /dev/null
+++ b/LayoutTests/accessibility/empty-text-under-element-cached.html

+    finishJSTest();

Do you need this? I didn't see jsTestIsAsync = true;

This covers the test case where the iso tree is built for the first time. Should we cover the case where a change happens after the iso tree is built and needs an update? Maybe adding a <l> and a <LI> with some text which was the case in QA's report.
Comment 8 Tyler Wilcock 2023-02-17 20:06:10 PST
Created attachment 465063 [details]
Patch
Comment 9 Tyler Wilcock 2023-02-18 11:16:16 PST
Created attachment 465066 [details]
Patch
Comment 10 Tyler Wilcock 2023-02-18 11:18:40 PST
(In reply to Andres Gonzalez from comment #7)
> This covers the test case where the iso tree is built for the first time.
> Should we cover the case where a change happens after the iso tree is built
> and needs an update? Maybe adding a <l> and a <LI> with some text which was
> the case in QA's report.
OK, added this additional testcase in the latest patch.
Comment 11 EWS 2023-02-18 16:44:36 PST
Committed 260521@main (87adaeb6e078): <https://commits.webkit.org/260521@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465066 [details].