[Epic] Keyboard navigation #3219
Labels
difficulty/challenging 🤯
Categorizes an issue for which the difficulty level is reachable with internals understanding
epic
kind/enhancement
New feature or request
platform/android 🤖
Categorizes an issue or PR as relevant to the Android platform
platform/ios 🍎
Categorizes an issue or PR as relevant to the iOS platform
platform/macos 🍏
Categorizes an issue or PR as relevant to the macOS platform
platform/wasm 🌐
Categorizes an issue or PR as relevant to the WebAssembly platform
project/input ⌨️
Categorizes an issue or PR as relevant to input (Button, CheckBox, Toggle, Scroll, Map, Numeric,...)
What would you like to be added:
The ability to navigate with arrow keys of a physical keyboard, or with a remote control (on Android TV for example) on listview, dropdownlist, menuflyout, ...
Why is this needed:
We can't develop Android TV app with Uno without this.
And in WASM, to fill data forms when we can't navigate with the keyboard on dropdownlist, listview, ..., it's very complicated.
Notes
TabNavigation
property - KeyboardNavigationMode.Cycle - focus returns to the first or the last stop inside of container; Local (default) - tab indexes are considered on the local subtree only inside container; Once - container and all of its child elements as a whole receive focus only once (for examples see comments)UIElement.TabFocusNavigation
- same as TabNavigation, but on UIElement (does it override TabNavigation)XYFocus??NavigationStrategy
- Specifies the disambiguation strategy used for navigating between multiple candidate targets using - https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.input.xyfocusnavigationstrategyXYFocusKeyboardNavigationMode
- Specifies the 2D directional navigation behavior when using the keyboard arrow keys. - https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.input.xyfocuskeyboardnavigationmode?view=winrt-19041Resources
Child issues
StandardUICommand
#5769For which Platform:
Anything else we need to know?
Thanks for your work on Uno! 😃
The text was updated successfully, but these errors were encountered: