RESOLVED FIXED 193414
AX: Support returning relative frames for accessibility
https://bugs.webkit.org/show_bug.cgi?id=193414
Summary AX: Support returning relative frames for accessibility
chris fleizach
Reported 2019-01-14 15:41:10 PST
Currently, when VoiceOver requests a frame of an element, WebKit has to synchronously send a message back to Safari to provide the final conversions. This has some drawbacks 1) It blocks the WebProcess rendering thread while this call is made 2) It potentially does unnecessary work, if VO doesn't actually need the full frame (perhaps it's just fetching a parent to check a property) 3) It makes it hard to cache the frame, because the containing window may change or rotate and we'd have to empty the cache on those events We can instead offer an AXRelativeFrame which is in "Page" space. The final conversion can be done by VoiceOver only when it needs it
Attachments
patch (33.51 KB, patch)
2019-01-14 16:32 PST, chris fleizach
ews-watchlist: commit-queue-
Archive of layout-test-results from ews106 for mac-highsierra-wk2 (2.91 MB, application/zip)
2019-01-14 17:28 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews103 for mac-highsierra (2.61 MB, application/zip)
2019-01-14 17:35 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews112 for mac-highsierra (2.53 MB, application/zip)
2019-01-14 18:49 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews204 for win-future (13.40 MB, application/zip)
2019-01-14 21:27 PST, EWS Watchlist
no flags
patch (35.04 KB, patch)
2019-01-16 10:03 PST, chris fleizach
no flags
patch (31.18 KB, patch)
2019-01-16 10:13 PST, chris fleizach
no flags
patch (34.67 KB, patch)
2019-01-16 16:44 PST, chris fleizach
no flags
patch (34.89 KB, patch)
2019-01-17 12:39 PST, chris fleizach
no flags
patch (35.37 KB, patch)
2019-01-17 13:12 PST, chris fleizach
no flags
patch (27.83 KB, patch)
2019-01-17 15:15 PST, chris fleizach
ews-watchlist: commit-queue-
Archive of layout-test-results from ews104 for mac-highsierra-wk2 (2.72 MB, application/zip)
2019-01-17 16:28 PST, EWS Watchlist
no flags
patch (34.88 KB, patch)
2019-01-17 17:38 PST, chris fleizach
no flags
patch (34.61 KB, patch)
2019-01-17 17:42 PST, chris fleizach
zalan: review+
landing patch (34.98 KB, patch)
2019-01-20 00:09 PST, chris fleizach
no flags
landing patch (36.92 KB, patch)
2019-01-20 14:12 PST, chris fleizach
no flags
Archive of layout-test-results from ews123 for ios-simulator-wk2 (2.44 MB, application/zip)
2019-01-20 16:04 PST, EWS Watchlist
no flags
Radar WebKit Bug Importer
Comment 1 2019-01-14 15:42:56 PST
chris fleizach
Comment 2 2019-01-14 16:32:59 PST
EWS Watchlist
Comment 3 2019-01-14 16:36:10 PST
Attachment 359097 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4025: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4032: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 20 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 4 2019-01-14 17:28:42 PST
Comment on attachment 359097 [details] patch Attachment 359097 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/10751184 New failing tests: accessibility/mac/relative-frame.html
EWS Watchlist
Comment 5 2019-01-14 17:28:43 PST
Created attachment 359104 [details] Archive of layout-test-results from ews106 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 6 2019-01-14 17:35:52 PST
Comment on attachment 359097 [details] patch Attachment 359097 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/10751267 New failing tests: accessibility/plugin.html accessibility/mac/bounds-for-range.html accessibility/image-link.html accessibility/table-attributes.html accessibility/mac/internal-link-anchors.html accessibility/mac/document-links.html accessibility/table-with-rules.html accessibility/table-one-cell.html accessibility/table-sections.html accessibility/table-cells.html accessibility/image-map2.html accessibility/table-cell-spans.html accessibility/mac/aria-columnrowheaders.html accessibility/transformed-element.html accessibility/math-multiscript-attributes.html accessibility/internal-link-anchors2.html accessibility/lists.html
EWS Watchlist
Comment 7 2019-01-14 17:35:54 PST
Created attachment 359106 [details] Archive of layout-test-results from ews103 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 8 2019-01-14 18:49:50 PST
Comment on attachment 359097 [details] patch Attachment 359097 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/10751923 New failing tests: accessibility/plugin.html accessibility/mac/bounds-for-range.html accessibility/image-link.html accessibility/mac/internal-link-anchors.html accessibility/mac/document-links.html accessibility/table-with-rules.html accessibility/math-multiscript-attributes.html accessibility/table-one-cell.html accessibility/table-cells.html accessibility/table-sections.html accessibility/table-cell-spans.html accessibility/image-map2.html accessibility/lists.html accessibility/transformed-element.html accessibility/mac/aria-columnrowheaders.html accessibility/internal-link-anchors2.html accessibility/table-attributes.html
EWS Watchlist
Comment 9 2019-01-14 18:49:52 PST
Created attachment 359117 [details] Archive of layout-test-results from ews112 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 10 2019-01-14 21:27:32 PST
Comment on attachment 359097 [details] patch Attachment 359097 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/10753841 New failing tests: webanimations/leak-document-with-web-animation.html
EWS Watchlist
Comment 11 2019-01-14 21:27:44 PST
Created attachment 359134 [details] Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.10.0-0.325-5-3-x86_64-64bit
chris fleizach
Comment 12 2019-01-16 10:03:40 PST
chris fleizach
Comment 13 2019-01-16 10:13:10 PST
EWS Watchlist
Comment 14 2019-01-16 10:15:25 PST
Attachment 359276 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4025: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4032: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 17 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 15 2019-01-16 16:44:11 PST
EWS Watchlist
Comment 16 2019-01-16 16:46:31 PST
Attachment 359335 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4026: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4033: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 17 2019-01-17 12:39:12 PST
EWS Watchlist
Comment 18 2019-01-17 12:41:26 PST
Attachment 359405 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4026: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4033: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 19 2019-01-17 13:12:49 PST
EWS Watchlist
Comment 20 2019-01-17 13:15:47 PST
Attachment 359408 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4026: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4033: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 21 2019-01-17 15:15:11 PST
EWS Watchlist
Comment 22 2019-01-17 15:16:21 PST
Attachment 359421 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4026: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4033: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 23 2019-01-17 16:28:48 PST
Comment on attachment 359421 [details] patch Attachment 359421 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/10788847 New failing tests: accessibility/plugin.html accessibility/mac/bounds-for-range.html accessibility/image-link.html accessibility/table-attributes.html accessibility/mac/internal-link-anchors.html accessibility/internal-link-anchors2.html accessibility/mac/document-links.html accessibility/table-with-rules.html accessibility/mac/document-attributes.html accessibility/table-one-cell.html accessibility/table-sections.html accessibility/table-cells.html accessibility/image-map2.html accessibility/table-cell-spans.html accessibility/mac/aria-columnrowheaders.html accessibility/transformed-element.html accessibility/math-multiscript-attributes.html accessibility/parent-delete.html accessibility/lists.html
EWS Watchlist
Comment 24 2019-01-17 16:28:50 PST
Created attachment 359423 [details] Archive of layout-test-results from ews104 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
chris fleizach
Comment 25 2019-01-17 17:38:56 PST
chris fleizach
Comment 26 2019-01-17 17:42:55 PST
EWS Watchlist
Comment 27 2019-01-17 17:44:19 PST
Attachment 359435 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4026: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4033: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 20 files If any of these errors are false positives, please file a bug against check-webkit-style.
zalan
Comment 28 2019-01-18 11:42:07 PST
Comment on attachment 359435 [details] patch nit; when I move some old code around, I tend to modernize it (some lines could use a bit of auto)
chris fleizach
Comment 29 2019-01-19 23:40:47 PST
(In reply to zalan from comment #28) > Comment on attachment 359435 [details] > patch > > nit; when I move some old code around, I tend to modernize it (some lines > could use a bit of auto) will do. thanks
chris fleizach
Comment 30 2019-01-20 00:09:57 PST
Created attachment 359636 [details] landing patch
EWS Watchlist
Comment 31 2019-01-20 00:12:39 PST
Attachment 359636 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4047: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4054: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 20 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 32 2019-01-20 01:18:50 PST
Comment on attachment 359636 [details] landing patch Clearing flags on attachment: 359636 Committed r240209: <https://trac.webkit.org/changeset/240209>
WebKit Commit Bot
Comment 33 2019-01-20 01:18:55 PST
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 34 2019-01-20 10:37:23 PST
Reverted r240209 for reason: Broke GTK/WPE injected bundle Committed r240212: <https://trac.webkit.org/changeset/240212>
Michael Catanzaro
Comment 35 2019-01-20 10:39:01 PST
Apologies for the rollout. This broke the GTK/WPE test bots (and probably other ports too). Problem is: ** (WebKitWebProcess:68170): WARNING **: 03:40:34.935: Error loading the injected bundle (/home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/lib/libTestRunnerInjectedBundle.so): /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/lib/libTestRunnerInjectedBundle.so: undefined symbol: _ZN3WTR22AccessibilityUIElement33stringDescriptionOfAttributeValueEP14OpaqueJSString Would it be reasonable to add an empty default implementation for non-Apple ports, or do we need more work here?
chris fleizach
Comment 36 2019-01-20 10:49:00 PST
(In reply to Michael Catanzaro from comment #35) > Apologies for the rollout. This broke the GTK/WPE test bots (and probably > other ports too). Problem is: > > ** (WebKitWebProcess:68170): WARNING **: 03:40:34.935: Error loading the > injected bundle > (/home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/ > lib/libTestRunnerInjectedBundle.so): > /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/ > lib/libTestRunnerInjectedBundle.so: undefined symbol: > _ZN3WTR22AccessibilityUIElement33stringDescriptionOfAttributeValueEP14OpaqueJ > SString > > Would it be reasonable to add an empty default implementation for non-Apple > ports, or do we need more work here? That would be reasonable. Why doesn't this fail in EWS? It seems completely unreasonable that I can pass a patch in EWS and have it rolled out do to an unknowable dependency? Could you instead work to put in a fix rather than rollout? How will I even test a GTK change if the EWS bots won't build it?
Michael Catanzaro
Comment 37 2019-01-20 12:43:46 PST
(In reply to chris fleizach from comment #36) > That would be reasonable. Why doesn't this fail in EWS? It seems completely > unreasonable that I can pass a patch in EWS and have it rolled out do to an > unknowable dependency? Problem is it did build, it just fails to dlopen at runtime. Only Mac EWS run tests. :( > Could you instead work to put in a fix rather than rollout? How will I even > test a GTK change if the EWS bots won't build it? I don't understand the code, so I don't know if that would be correct. If just a default implementation would suffice, I would just try adding one and relanding.
chris fleizach
Comment 38 2019-01-20 14:12:22 PST
Created attachment 359651 [details] landing patch
EWS Watchlist
Comment 39 2019-01-20 14:15:18 PST
Attachment 359651 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:815: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/mac/WKView.mm:822: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4047: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:4054: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 4 in 23 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 40 2019-01-20 16:04:13 PST
Comment on attachment 359651 [details] landing patch Attachment 359651 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/10822441 New failing tests: imported/w3c/web-platform-tests/webrtc/simplecall.https.html
EWS Watchlist
Comment 41 2019-01-20 16:04:15 PST
Created attachment 359656 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
WebKit Commit Bot
Comment 42 2019-01-20 17:26:44 PST
Comment on attachment 359651 [details] landing patch Clearing flags on attachment: 359651 Committed r240219: <https://trac.webkit.org/changeset/240219>
WebKit Commit Bot
Comment 43 2019-01-20 17:26:46 PST
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 44 2019-01-20 21:37:45 PST
That worked, thanks!
Note You need to log in before you can comment on or make changes to this bug.