|
|
Created:
4 years ago by Azure Wei Modified:
4 years ago Reviewers:
tdanderson CC:
chromium-reviews, sadrul, yusukes+watch_chromium.org, shuchen+watch_chromium.org, nona+watch_chromium.org, oshima+watch_chromium.org, kalyank Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionRequest focus on IME menu rows after keyboard selection to trigger spoken feedback
Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is:
1) Use 'Tab' key to switch the focused items
2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'.
3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu.
This CL adds more support the to current behavior:
1) 2) keeps the same.
3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'.
Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated.
BUG=642423
TEST=Verified on local build.
Committed: https://crrev.com/f031cb52aa8f07aae0542114368215228c6785b6
Cr-Commit-Position: refs/heads/master@{#437404}
Patch Set 1 #
Total comments: 22
Patch Set 2 : Add |last_item_selected_with_keyboard_| & |focus_current_ime_| #
Total comments: 8
Patch Set 3 : Addressed comments. #
Messages
Total messages: 20 (12 generated)
Description was changed from ========== Keyboard + ChromeVox to switch IME. BUG=642423 TEST=Verified on local build. ========== to ========== Keyboard + ChromeVox to switch IME. Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ==========
azurewei@chromium.org changed reviewers: + tdanderson@chromium.org
The CQ bit was checked by azurewei@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Please review this CL. Thanks! The change in file: ash/common/system/chromeos/ime_menu/ime_menu_tray.cc is the same with CL: https://codereview.chromium.org/2541743004/.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Please see my comments below. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.cc (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:143: if (event.type() == ui::EventType::ET_MOUSE_RELEASED) { nit: no {} needed around the if and else-if blocks since the boolean expressions and the blocks themselves are all single line. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:309: if (!manager || manager->GetFocusedView() || last_pressed_item_id_.empty()) { Can you clarify why you take an early return if manager->GetFocusedView() exists? and nit: {} not needed for the same reasons mentioned above. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:314: if (ime_map.second == last_pressed_item_id_) { nit: {} not needed for the same reasons mentioned above. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:409: if (view == keyboard_status_) { From the documentation in the header apparently |keyboard_status_| is not being used in material design. Wouldn't you need to make a change similar to line 411 in ImeListView::HandleButtonPressed() to also fix the bug in MD? (I assume that lpalmaro is checking and giving approval only for the MD version of this feature in M-56, is that correct?) https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:411: last_pressed_item_id_ = ""; Consider using base::Optional rather than the empty string to signal the "not set" state of this member. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:436: GetWidget()->Close(); So it looks as though when selecting with keyboard you're not closing the opt-in menu, is that correct? If so, are you sure that the green checkmarks are being updated correctly (previously-selected IME checkmark should disappear, and the newly-selected IME checkmark should appear). If that works as intended, in a follow up CL (not targeted for m-56) I would be interested in keeping the opt-in IME menu open in cases where the IME switch happens with mouse or touch. IMO that should be the consistent behavior among all tray menus and in all detailed views in the system menu. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.h (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:25: ImeListView(SystemTrayItem* owner, Changes to ImeListView will also affect the IME detailed view in the system menu. If you haven't already can you test that your CL works for the detailed view too? https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:31: // Focuses to the current IME if the IME is selected with keyboard. I think you can make this private. Also it would be nice to have a bit more description in the documentation here, such as "Requests focus on the current IME if it was selected with keyboard so that accessible text will alert the user of the IME change." https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:44: void HandleViewPressed(views::View* view); I think this can be made private. And to avoid confusion between HandleViewPressed() and HandleViewClicked(), consider re-naming HandleViewPressed() to be something like HandleViewClickedInternal() to signify it is a helper that is called from HandleViewClicked().
Please review the new patch set. Thanks! https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.cc (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:143: if (event.type() == ui::EventType::ET_MOUSE_RELEASED) { On 2016/12/08 00:42:11, tdanderson wrote: > nit: no {} needed around the if and else-if blocks since the boolean expressions > and the blocks themselves are all single line. Done. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:309: if (!manager || manager->GetFocusedView() || last_pressed_item_id_.empty()) { On 2016/12/08 00:42:11, tdanderson wrote: > Can you clarify why you take an early return if manager->GetFocusedView() > exists? > > and nit: {} not needed for the same reasons mentioned above. When switching IMEs, all the {@link ImeListItemView}s will be reset and the {@link ImeListView} will create new {@link ImeListItemView}s. No views should be focused yet. Unless users focus to some other views manually (with mouse or 'Tab' key), for which cases I think we should focus to the new selected IME item view. I think this case may be impossible to happen, but it's no harm to add a check. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:314: if (ime_map.second == last_pressed_item_id_) { On 2016/12/08 00:42:11, tdanderson wrote: > nit: {} not needed for the same reasons mentioned above. Done. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:409: if (view == keyboard_status_) { On 2016/12/08 00:42:11, tdanderson wrote: > From the documentation in the header apparently |keyboard_status_| is not being > used in material design. Wouldn't you need to make a change similar to line 411 > in ImeListView::HandleButtonPressed() to also fix the bug in MD? > > (I assume that lpalmaro is checking and giving approval only for the MD version > of this feature in M-56, is that correct?) Done. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:411: last_pressed_item_id_ = ""; On 2016/12/08 00:42:11, tdanderson wrote: > Consider using base::Optional rather than the empty string to signal the "not > set" state of this member. Updated as last_selected_item_id_.clear(). Also, added a new bool ImeListView::last_item_selected_with_keyboard_ to deal with cases like first time to create ImeListView or switching with shortcuts. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:436: GetWidget()->Close(); On 2016/12/08 00:42:11, tdanderson wrote: > So it looks as though when selecting with keyboard you're not closing the opt-in > menu, is that correct? If so, are you sure that the green checkmarks are being > updated correctly (previously-selected IME checkmark should disappear, and the > newly-selected IME checkmark should appear). > > If that works as intended, in a follow up CL (not targeted for m-56) I would be > interested in keeping the opt-in IME menu open in cases where the IME switch > happens with mouse or touch. IMO that should be the consistent behavior among > all tray menus and in all detailed views in the system menu. Yes, the green checkmarks work correctly. We are not closing the opt-in menu, but it will be reset and create new items view since get IME refresh event to call ImeListView::Update(). In Update(), all items are new created based on the current IME list and focus based on the last operation. Let me ask lpalmaro@ whether we should change the behavior of mouse or touch. As for myself, it seems redundant operation if I selected IME and then need to close the menu. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.h (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:25: ImeListView(SystemTrayItem* owner, On 2016/12/08 00:42:11, tdanderson wrote: > Changes to ImeListView will also affect the IME detailed view in the system > menu. If you haven't already can you test that your CL works for the detailed > view too? Added a new bool member ImeListView::focus_current_ime_ to control whether we will support this feature. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:31: // Focuses to the current IME if the IME is selected with keyboard. On 2016/12/08 00:42:11, tdanderson wrote: > I think you can make this private. Also it would be nice to have a bit more > description in the documentation here, such as "Requests focus on the current > IME if it was selected with keyboard so that accessible text will alert the user > of the IME change." Done. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:44: void HandleViewPressed(views::View* view); On 2016/12/08 00:42:11, tdanderson wrote: > I think this can be made private. And to avoid confusion between > HandleViewPressed() and HandleViewClicked(), consider re-naming > HandleViewPressed() to be something like HandleViewClickedInternal() to signify > it is a helper that is called from HandleViewClicked(). This is declared public since it's called by ImeListItemView. To make it clear, I've removed the new HandleViewPressed() method and added CloseImeListView() method.
LGTM with the comments addressed. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.cc (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:309: if (!manager || manager->GetFocusedView() || last_pressed_item_id_.empty()) { On 2016/12/08 13:14:55, Azure Wei wrote: > On 2016/12/08 00:42:11, tdanderson wrote: > > Can you clarify why you take an early return if manager->GetFocusedView() > > exists? > > > > and nit: {} not needed for the same reasons mentioned above. > > When switching IMEs, all the {@link ImeListItemView}s will be reset and the > {@link ImeListView} will create new {@link ImeListItemView}s. No views should be > focused yet. > Unless users focus to some other views manually (with mouse or 'Tab' key), for > which cases I think we should focus to the new selected IME item view. I think > this case may be impossible to happen, but it's no harm to add a check. Acknowledged. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.cc:436: GetWidget()->Close(); On 2016/12/08 13:14:55, Azure Wei wrote: > On 2016/12/08 00:42:11, tdanderson wrote: > > So it looks as though when selecting with keyboard you're not closing the > opt-in > > menu, is that correct? If so, are you sure that the green checkmarks are being > > updated correctly (previously-selected IME checkmark should disappear, and the > > newly-selected IME checkmark should appear). > > > > If that works as intended, in a follow up CL (not targeted for m-56) I would > be > > interested in keeping the opt-in IME menu open in cases where the IME switch > > happens with mouse or touch. IMO that should be the consistent behavior among > > all tray menus and in all detailed views in the system menu. > > Yes, the green checkmarks work correctly. > We are not closing the opt-in menu, but it will be reset and create new items > view since get IME refresh event to call ImeListView::Update(). In Update(), all > items are new created based on the current IME list and focus based on the last > operation. Acknowledged. > > Let me ask lpalmaro@ whether we should change the behavior of mouse or touch. As > for myself, it seems redundant operation if I selected IME and then need to > close the menu. Actually don't worry about checking this, if we do it for IME then I think we should do it for everything in the system menu, and that's a much larger change that would need to have more thought put into it. I'll keep that on my radar for possible future work. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... File ash/common/system/chromeos/ime_menu/ime_list_view.h (right): https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:25: ImeListView(SystemTrayItem* owner, On 2016/12/08 13:14:55, Azure Wei wrote: > On 2016/12/08 00:42:11, tdanderson wrote: > > Changes to ImeListView will also affect the IME detailed view in the system > > menu. If you haven't already can you test that your CL works for the detailed > > view too? > > Added a new bool member ImeListView::focus_current_ime_ to control whether we > will support this feature. Thanks. Now that I try it out, I see that this is a problem for all detailed views with checkable rows such as a11y, IME, audio, etc (though this was not a regression caused by MD). I'll keep that on my radar for future work. https://codereview.chromium.org/2560793002/diff/1/ash/common/system/chromeos/... ash/common/system/chromeos/ime_menu/ime_list_view.h:44: void HandleViewPressed(views::View* view); On 2016/12/08 13:14:55, Azure Wei wrote: > On 2016/12/08 00:42:11, tdanderson wrote: > > I think this can be made private. And to avoid confusion between > > HandleViewPressed() and HandleViewClicked(), consider re-naming > > HandleViewPressed() to be something like HandleViewClickedInternal() to > signify > > it is a helper that is called from HandleViewClicked(). > > This is declared public since it's called by ImeListItemView. > To make it clear, I've removed the new HandleViewPressed() method and added > CloseImeListView() method. Acknowledged. https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... File ash/common/system/chromeos/ime_menu/ime_list_view.h (right): https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:3: // found in the LICENSE file. Please update the CL title to something more descriptive of the bug you're fixing, such as "Request focus on IME menu rows after keyboard selection to trigger spoken feedback" https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:43: void SetLastItemSelectedWithKeyboard(bool last_item_selected_with_keyboard) { Please use this_naming_style() instead of CamelCase for function names when you're inlining them in the header (here and on line 47). https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:48: focus_current_ime_ = focus_current_ime; I find the name |focus_current_ime_| a bit ambiguous, and therefore I think it makes readability a bit difficult at call sites. Can I suggest the alternate namings: * |should_focus_ime_after_selection_with_keyboard_| instead of |focus_current_ime_| * set_should_focus_ime_after_selection_with_keyboard() instead of SetFocusCurrentIme() * should_focus_ime_after_selection_with_keyboard() instead of focus_current_ime() https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:99: // with keyboard. nit: suggested wording: "True if focus should be requested after switching IMEs with keyboard in order to trigger spoken feedback with ChromeVox enabled." or similar.
Description was changed from ========== Keyboard + ChromeVox to switch IME. Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ========== to ========== Request focus on IME menu rows after keyboard selection to trigger spoken feedback Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ==========
https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... File ash/common/system/chromeos/ime_menu/ime_list_view.h (right): https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:3: // found in the LICENSE file. On 2016/12/08 22:56:38, tdanderson (OOO until Dec 13) wrote: > Please update the CL title to something more descriptive of the bug you're > fixing, such as "Request focus on IME menu rows after keyboard selection to > trigger spoken feedback" Done. https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:43: void SetLastItemSelectedWithKeyboard(bool last_item_selected_with_keyboard) { On 2016/12/08 22:56:38, tdanderson (OOO until Dec 13) wrote: > Please use this_naming_style() instead of CamelCase for function names when > you're inlining them in the header (here and on line 47). Done. Renamed as set_last_item_selected_with_keyboard(). https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:48: focus_current_ime_ = focus_current_ime; On 2016/12/08 22:56:38, tdanderson (OOO until Dec 13) wrote: > I find the name |focus_current_ime_| a bit ambiguous, and therefore I think it > makes readability a bit difficult at call sites. Can I suggest the alternate > namings: > > * |should_focus_ime_after_selection_with_keyboard_| instead of > |focus_current_ime_| > > * set_should_focus_ime_after_selection_with_keyboard() instead of > SetFocusCurrentIme() > > * should_focus_ime_after_selection_with_keyboard() instead of > focus_current_ime() Done. https://codereview.chromium.org/2560793002/diff/20001/ash/common/system/chrom... ash/common/system/chromeos/ime_menu/ime_list_view.h:99: // with keyboard. On 2016/12/08 22:56:38, tdanderson (OOO until Dec 13) wrote: > nit: suggested wording: "True if focus should be requested after switching IMEs > with keyboard in order to trigger spoken feedback with ChromeVox enabled." or > similar. Done.
The CQ bit was checked by azurewei@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from tdanderson@chromium.org Link to the patchset: https://codereview.chromium.org/2560793002/#ps40001 (title: "Addressed comments.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 40001, "attempt_start_ts": 1481243037616540, "parent_rev": "25e3b2d21c06731e5984e0122619fb25bf9fa069", "commit_rev": "3a9b23c8692b7ff51f77d29bb84e8d79e5941f5f"}
Message was sent while issue was closed.
Description was changed from ========== Request focus on IME menu rows after keyboard selection to trigger spoken feedback Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ========== to ========== Request focus on IME menu rows after keyboard selection to trigger spoken feedback Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Request focus on IME menu rows after keyboard selection to trigger spoken feedback Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. ========== to ========== Request focus on IME menu rows after keyboard selection to trigger spoken feedback Use keyboard + ChromeVox to operate on opt-in IME menu, the current behavior is: 1) Use 'Tab' key to switch the focused items 2) When the item is focused, ChromeVox will speak '{IME name} Chreck box {Checked/ Not checked}'. 3) Use 'Enter' key to selected the focused item, system will switch IME and close the opt-in IME menu. This CL adds more support the to current behavior: 1) 2) keeps the same. 3) Use 'Enter' key to selected the focused item, system will switch IME and focuses to the new selected IME with spoken feedback '{IME name} Chreck box Checked'. Since the ImeListView will create new items when getting IME refreshing event, we need to save the item selected by 'Enter' key and focuses to it when the view is updated. BUG=642423 TEST=Verified on local build. Committed: https://crrev.com/f031cb52aa8f07aae0542114368215228c6785b6 Cr-Commit-Position: refs/heads/master@{#437404} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/f031cb52aa8f07aae0542114368215228c6785b6 Cr-Commit-Position: refs/heads/master@{#437404} |