Skip to content

AX: Voice control not focusing inputs and textareas when not in a fieldset #47282

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

hoffmanjoshua
Copy link
Contributor

@hoffmanjoshua hoffmanjoshua commented Jun 27, 2025

09204fc

AX: Voice control not focusing inputs and textareas when not in a fieldset
https://bugs.webkit.org/show_bug.cgi?id=293974
rdar://152517222

Reviewed by Tyler Wilcock.

We expose text inputs as supporting press actions in supportsPressAction, but did
not handle them at all when computing a node's action element. This would lead ATs
like Voice Control to try to invoke this action, with no result or change in focus.

To start supporting this, return text inputs and content editable nodes as action
elements.

* LayoutTests/accessibility/mac/press-action-text-inputs-expected.txt: Added.
* LayoutTests/accessibility/mac/press-action-text-inputs.html: Added.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::nodeActionElement):

Canonical link: https://commits.webkit.org/296763@main

7e27b05

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ⏳ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@hoffmanjoshua hoffmanjoshua self-assigned this Jun 27, 2025
@hoffmanjoshua hoffmanjoshua added the Accessibility For bugs related to accessibility. label Jun 27, 2025
Copy link
Contributor

@minorninth minorninth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm with one possible change.

There are a lot of input types!

@hoffmanjoshua hoffmanjoshua force-pushed the eng/AX-Voice-control-not-focusing-inputs-and-textareas-when-not-in-a-fieldset branch from 87d445a to 7e27b05 Compare June 27, 2025 16:08
@hoffmanjoshua hoffmanjoshua added the merge-queue Applied to send a pull request to merge-queue label Jun 28, 2025
…ldset

https://bugs.webkit.org/show_bug.cgi?id=293974
rdar://152517222

Reviewed by Tyler Wilcock.

We expose text inputs as supporting press actions in supportsPressAction, but did
not handle them at all when computing a node's action element. This would lead ATs
like Voice Control to try to invoke this action, with no result or change in focus.

To start supporting this, return text inputs and content editable nodes as action
elements.

* LayoutTests/accessibility/mac/press-action-text-inputs-expected.txt: Added.
* LayoutTests/accessibility/mac/press-action-text-inputs.html: Added.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::nodeActionElement):

Canonical link: https://commits.webkit.org/296763@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/AX-Voice-control-not-focusing-inputs-and-textareas-when-not-in-a-fieldset branch from 7e27b05 to 09204fc Compare June 28, 2025 01:24
@webkit-commit-queue
Copy link
Collaborator

Committed 296763@main (09204fc): https://commits.webkit.org/296763@main

Reviewed commits have been landed. Closing PR #47282 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 09204fc into WebKit:main Jun 28, 2025
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Jun 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accessibility For bugs related to accessibility.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants