Issue metadata
Sign in to add a comment
|
MacViews(a11y): Views textfields don't provide accessibilityValue, acessibilitySelectedText, accessibilityNumberOfCharacters, role description, and maybe other important things |
||||||||||||||||||||||
Issue descriptionChrome Version : 52.0.2729.3 OS Version: OS X 10.11.4 1. Cmd+F5 to enable VoiceOver on Mac + chrome://flags/#mac-views-dialogs Enabled 2. Open OSX Accessibility Inspector 3. Open bookmark bubble, hover over the textfield What is the expected result? Should show stuff in Accessibility Inspector similar to what an NSTextField has What happens instead of that? Doesn't ⛆ |
|
|
,
May 31 2016
,
Jun 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/244fc7d3829a5f62b28c5655badb2df290676e2d commit 244fc7d3829a5f62b28c5655badb2df290676e2d Author: patricialor <patricialor@chromium.org> Date: Tue Jun 21 01:03:33 2016 Mac a11y: Add RoleDescription, Value, Subrole accessibility attributes & tests. Populate NSAccessibilityRoleDescriptionAttribute, NSAccessibilityValueAttribute, and NSAccessibilitySubroleAttribute fields for views::View elements on Mac, with tests. Also add unit tests for the attributes currently supported, including a test specifically for textfields. BUG= 610591 Review-Url: https://codereview.chromium.org/2016243002 Cr-Commit-Position: refs/heads/master@{#400859} [modify] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/content/browser/accessibility/browser_accessibility_cocoa.mm [modify] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/ui/accessibility/ax_view_state.cc [modify] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/ui/accessibility/ax_view_state.h [modify] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/ui/views/views.gyp [add] https://crrev.com/244fc7d3829a5f62b28c5655badb2df290676e2d/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Jul 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c32a66d5bf5de90e99d220dafe3fff471419343c commit c32a66d5bf5de90e99d220dafe3fff471419343c Author: patricialor <patricialor@chromium.org> Date: Fri Jul 01 00:29:18 2016 Mac: Add accessibility attributes for textfields, and AXEnabled for all views. This change adds support for the following NSAccessibility attributes: NSAccessibilityEnabledAttribute NSAccessibilityFocusedAttribute NSAccessibilityInsertionPointLineNumberAttribute NSAccessibilityNumberOfCharactersAttribute NSAccessibilityPlaceholderValue NSAccessibilitySelectedTextAttribute NSAccessibilitySelectedTextrangeAttribute NSAccessibilityVisibleCharacterRangeAttribute ui::AX_ATTR_PLACEHOLDER was also not used outside of Blink, so support this attribute as well. Add tests for all of these attributes and plumb through textfield change notifications for ui::AX_EVENT_TEXT_CHANGED, ui::AX_EVENT_VALUE_CHANGED, and ui::AX_EVENT_TEXT_SELECTION_CHANGED. BUG= 610591 Review-Url: https://codereview.chromium.org/2106953005 Cr-Commit-Position: refs/heads/master@{#403370} [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/accessibility/ax_node_data.h [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/accessibility/ax_view_state.h [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/accessibility/platform/ax_platform_node_mac.h [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/views/accessibility/native_view_accessibility.cc [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/views/controls/textfield/textfield.cc [modify] https://crrev.com/c32a66d5bf5de90e99d220dafe3fff471419343c/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Jul 7 2016
tapted@, Could you please confirm the fix has been completely landed? So that test team can try to verify this on ToT. Thank you!
,
Jul 7 2016
,
Jul 7 2016
I think there's more to come, but Patti can confirm. Also note the flag has been renamed. It's now necessary to set the following to `Enabled` to get the correct bookmark bubble - chrome://flags/#mac-views-native-dialogs
,
Jul 8 2016
TLDR; Yes, there are probably more coming. Long answer (please read this bit tapted@!): There are a couple attributes that are missing, but I think they are probably the less useful ones, specifically accessibilityIdentifier - looks like this is only really used for automated testing purposes according to both Cocoa documentation and the equivalent AXViewState.id field that exists in Chrome, so this might not be particularly useful since we have a cross-platform way to access this id already (no need to make it visible to Mac accessibility clients). accessibilityTopLevelUIElement - not sure if this should be the widget or the root view or something else. Maybe you have some ideas tapted@? accessibilityWindow - the window with the element (or the window the dialog containing the element is attached to). One that does seem a bit useful is accessibilityHelp, but am not sure about the best way to implement that as there is no equivalent that currently exists in Chrome, so even if this were implemented, there wouldn't be much use for it until it was populated. Other big differences are the "Actions" and "Parameterized Attributes" sections picked up by the Mac Accessibility Inspector, both of which are missing quite a few fields from them (see attached screenshots), but I haven't explored much into these yet. And finally there are some fields that are meant to be writable (notice the "(W)" next to some accessibility attributes), but again am not sure how much of a priority this is, nor have I been able to look into it much yet.
,
Jul 8 2016
Would it make sense for a tooltip to go into accessibilityHelp? accessibilityTopLevelUIElement - I'd say it's acceptable just to report the same thing as accessibilityWindow actions/paramaterized attributes - does the WebContent area do anything with these? (on Chrome? On Safari?). Same with the writable stuff. If it's hard, we can defer it to a separate feature reqest, so long as there is no regression. Note there's also http://crbug.com/386671 -- some of these may have only come about in 10.10
,
Jul 8 2016
1. Yes, I would say that tooltip should go into help. 2. topLevelUIElement: That sounds correct. I believe that Safari does the same thing. You can check using the Accessibility Inspector in Xcode Tools. 3. Actions and parameterized attributes: We support all of those in the web view. Most of them are web specific but a great number need to be supported for views as well. Better file a new feature request. My ultimate dream would be to share code between web view and views, so that we won't need to keep implementing accessibility.
,
Jul 10 2016
Moving this nonessential bug to the next milestone. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37f9fc7c83fd0386d554fb93213287b698b037c0 commit 37f9fc7c83fd0386d554fb93213287b698b037c0 Author: patricialor <patricialor@chromium.org> Date: Wed Jul 27 03:02:27 2016 Mac a11y: Add Help, TopLevelUIElement, and Window accessibility attributes. Add the accessibilityHelp (derived from the tooltip text), accessibilityTopLevelUIElement, and accessibilityWindow accessibility attributes for Mac, with tests. BUG= 610591 Review-Url: https://codereview.chromium.org/2141013004 Cr-Commit-Position: refs/heads/master@{#408029} [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/accessibility/ax_view_state.h [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/accessibility/platform/ax_platform_node_delegate.h [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/accessibility/platform/test_ax_node_wrapper.cc [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/accessibility/platform/test_ax_node_wrapper.h [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/views/accessibility/native_view_accessibility.cc [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/views/accessibility/native_view_accessibility.h [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/views/accessibility/native_view_accessibility_auralinux.cc [modify] https://crrev.com/37f9fc7c83fd0386d554fb93213287b698b037c0/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Aug 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0fa98f7891c47f1f942e3e584fc64227ebf65500 commit 0fa98f7891c47f1f942e3e584fc64227ebf65500 Author: patricialor <patricialor@chromium.org> Date: Tue Aug 16 01:08:15 2016 MacViews a11y: Allow accessibility clients to set the AXValue on some controls. Cocoa controls allow accessibility clients to set specific values on user input controls via accessibility clients. This doesn't yet work for MacViews controls. This CL adds support for writable ui::AX_VALUE attributes on MacViews. BUG= 610591 TEST=Open the XCode 'Accessibility Inspector' and hover the mouse over the omnibox (for example). Press Cmd+F7 to lock onto the omnibox. Find the 'accessibilityValue' entry in the inspector (it should have a '(W)' next to it to indicate it's writable). Click it and at the bottom of the inspector has a textbox to edit the value. Edit and confirm, the text in the omnibox should be updated. Review-Url: https://codereview.chromium.org/2230093002 Cr-Commit-Position: refs/heads/master@{#412120} [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/accessibility/platform/ax_platform_node_delegate.h [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/accessibility/platform/test_ax_node_wrapper.cc [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/accessibility/platform/test_ax_node_wrapper.h [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/views/accessibility/native_view_accessibility.cc [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/views/accessibility/native_view_accessibility.h [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/views/accessibility/native_view_accessibility_auralinux.cc [modify] https://crrev.com/0fa98f7891c47f1f942e3e584fc64227ebf65500/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Sep 9 2016
,
Oct 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0aa1406119dc85097efebbb282895b543e4b0c26 commit 0aa1406119dc85097efebbb282895b543e4b0c26 Author: patricialor <patricialor@chromium.org> Date: Mon Oct 31 03:15:36 2016 MacViews/a11y: Allow accessibility clients to update the selected text. Currently, the `selected text` a11y attribute of views::Textfields is reported as unmodifiable, which differs from native NSTextFields on Mac. Add a callback to views::Textfield and OmniboxViewViews to allow accessibility clients to replace the currently selected text, and plumb through for Mac. When no text is selected, new text is inserted at the current cursor position. This also fixes a problem where selection information provided to accessibility clients was incorrect for the Omnibox when it still had selected text, but focus was not on the window the Omnibox was currently attached to. BUG= 610591 TEST=With #mac-views-webui-dialogs turned on in chrome:flags, open the XCode Accessibility Inspector and bring up the HTTP Authentication dialog. Type some text into the username Textfield, then select some text in it. Click on the Accessibility Inspector to move focus off the Chrome window and hover over the Omnibox with the mouse. The Accessibility Inspector should report the correct "accessibilitySelectedTextRange" and "accessibilitySelectedText" attributes. Then press Cmd+F7 to lock onto the Textfield, click on "accessibilitySelectedText" and enter a value at the bottom. The selected text in the Textfield should be replaced with the new string with no text selected. Review-Url: https://codereview.chromium.org/2341633006 Cr-Commit-Position: refs/heads/master@{#428645} [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/chrome/browser/ui/views/omnibox/omnibox_view_views.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/chrome/browser/ui/views/omnibox/omnibox_view_views.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/ax_view_state.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/platform/ax_platform_node_delegate.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/platform/ax_platform_node_win.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/platform/test_ax_node_wrapper.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/accessibility/platform/test_ax_node_wrapper.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/accessibility/native_view_accessibility.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/accessibility/native_view_accessibility.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/accessibility/native_view_accessibility_auralinux.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/controls/textfield/textfield.cc [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/controls/textfield/textfield.h [modify] https://crrev.com/0aa1406119dc85097efebbb282895b543e4b0c26/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Nov 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2 commit f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2 Author: patricialor <patricialor@chromium.org> Date: Tue Nov 15 07:47:46 2016 MacViews/a11y: Allow accessibility clients to focus and unfocus focusable Views. Currently, the `isAccessibilityFocused` a11y attribute on Views is reported as unmodifiable, which differs from native UI elements on Mac. This change will support allowing accessibility clients to focus and unfocus Views controls which are reported as focusable using a new NativeViewAccessibility::SetFocused() method and a new ui::AX_ACTION_FLAGS_SET_UNFOCUSED. SetFocused() will not call View::HandleAccessibilityAction() because all Views are potentially focusable. BUG= 610591 TEST=With #mac-views-webui-dialogs turned on in chrome:flags, open the XCode Accessibility Inspector and bring up the HTTP Authentication dialog. Hover over a control on it (e.g. the username Textfield) and press Cmd+F7 to lock onto it. In the Accessibility Inspector, click on `isAccessibilityFocused` and check it has a '(W)' next to it to indicate it's writable. A checkbox should appear at the bottom which reflects its current focused state. Check it and click Set Value to focus the control, then uncheck it and click Set Value to unfocus the control. Review-Url: https://codereview.chromium.org/2490073002 Cr-Commit-Position: refs/heads/master@{#432142} [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/accessibility/platform/ax_platform_node_delegate.h [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/accessibility/platform/test_ax_node_wrapper.cc [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/accessibility/platform/test_ax_node_wrapper.h [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/views/accessibility/native_view_accessibility.cc [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/views/accessibility/native_view_accessibility.h [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/views/accessibility/native_view_accessibility_auralinux.cc [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/views/accessibility/native_view_accessibility_unittest.cc [modify] https://crrev.com/f6a5dc8e9e2b639d9d4ce96f8bf1bce88aeef3f2/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Nov 16 2016
,
Feb 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0a8d26e24fbf3e0a262f2e0fe72100c979a77428 commit 0a8d26e24fbf3e0a262f2e0fe72100c979a77428 Author: patricialor <patricialor@chromium.org> Date: Fri Feb 17 00:11:36 2017 MacViews/a11y: Allow accessibility clients to set new selections in Textfields. Currently, the `SelectedTextRange` a11y attribute on Views is reported as unmodifiable, which differs from native text field elements on Mac. This change will support allowing accessibility clients to change the text selection (including moving the cursor position) for views::Textfields. BUG= 610591 , 645596 TEST=With #secondary-ui-md turned on in chrome:flags, open the XCode Accessibility Inspector and bring up the HTTP Authentication dialog. Type some text into the username dialog, select some text, and inspect it with Alt+Space on macOS 10.12 or Cmd+F7 otherwise. In the Accessibility Inspector, scroll down to SelectedTextRange and check it's editable. Setting the location and length of the control then changes the text selection made earlier. Review-Url: https://codereview.chromium.org/2684203002 Cr-Commit-Position: refs/heads/master@{#451148} [modify] https://crrev.com/0a8d26e24fbf3e0a262f2e0fe72100c979a77428/ui/accessibility/platform/ax_platform_node_mac.mm [modify] https://crrev.com/0a8d26e24fbf3e0a262f2e0fe72100c979a77428/ui/views/widget/native_widget_mac_accessibility_unittest.mm
,
Mar 27 2017
,
Apr 21 2017
,
Apr 21 2017
,
Jun 13 2017
I think this is all fixed except for the show menu action. Filed Issue 732655 for that. |
||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by tapted@chromium.org
, May 10 2016