It is not and has never been a “requirement” that “Keyboard focus should follow tap/ click so that pressing (Shift)Tab moves relative to the component last interacted with”. That would be highly unpleasant if it applied, for example, to scrollbars, panel resize handles, or window resize handles. Unfortunately, because the initial toolkit designers were focused on touch input, the toolkit specification did not make a distinction between elements that should be focusable and elements that should not.
So, Femma has just approved my definition of the three focusability classes for elements, and it is now part of the specification template for toolkit elements to define which focusability class it belongs to. She’s also approved my definition of the three selectability classes for lists. Making lists non-pointer-selectable by default would make *this* list non-pointer-selectable, which should mean tapping the list item will not focus its switch, which should mean that Space does not toggle the switch, which fixes this bug. To summarize: When most of your input is with touch, it would be ugly for most controls to get focus rings — and most list items to look selected — just because you tapped them and *might* use a keyboard to navigate through them later. The toolkit currently tries to solve this by suppressing the focused/selected appearance based on *how* the item was focused/selected. This has turned out to be mistaken because it results in surprising behavior if you *do* use a keyboard later. A better solution is that for many types of control — and items in many lists — tapping/clicking should not focus/select the control in the first place. ** Changed in: ubuntu-ux Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in Ubuntu. https://bugs.launchpad.net/bugs/1549733 Title: SystemSettings Language&Text view: hitting Space on HW keyboard triggers switch even when it (or its list item) does not show any visual focus frame Status in Canonical System Image: Incomplete Status in Ubuntu UX: Fix Committed Status in ubuntu-system-settings package in Ubuntu: Invalid Status in ubuntu-ui-toolkit package in Ubuntu: Triaged Status in ubuntu-ui-toolkit package in Ubuntu RTM: Confirmed Bug description: Nexus7, rc-proposed, r373 Ubuntu UI Toolkit version r1795 1) Connect bluetooth keyboard 2) Open system settings 3) Open Language & Text view 4) Press tab until the n-th switch shows its focus frame 5) Now tap (using touchscreen) on the m-th list item, with m < n (tap on the list item, not on the switch of that list item) NOTE: It is important that m < n, the bug will not trigger on listitems that have not been focused at least once! 6) At this point the focus frame around the n-th switch has disappeared 7) Now press Space on the keyboard Expected outcome: Nothing, because there is no focus frame anywhere on the screen This is confusing for the user as he can never be sure about which item will be actioned by the keyboard keys Actual outcome: The switch of the m-th list item is triggered, even though that list item or switch were not showing any focus frame <https://goo.gl/LCxiWO>: “To avoid errors from unintended focus and distraction from irrelevant focus rings, there should be three classes of control: … • Non-pointer-focusable: Focusable with Tab … Yes … Focusable with pointing device … No” <https://goo.gl/fscyyx>: “To avoid distraction from irrelevant selection, there should be three classes of list: … • Non-pointer- selectable: Selectable with arrow keys … Yes … Selectable with pointing device … No … Any list that is non-pointer-selectable should be non-pointer-focusable.” To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1549733/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp