mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-08-07 04:05:17 +00:00
949f2a6b34
Report the folders container with the List role (was PageTabList) and each folder as a ListItem, which matches NVDA's native single-selection list behaviour better than a tab control. TabListLayout opts in to RpWidget::accessibilitySelectionList(), so the selection interface and selected-item focus forwarding apply only to this strip, not to every List-role widget. - Locked (premium) folders are ordinary list items now: a ListItem is clickable, so they can open the Premium box, and they are reachable with the arrow keys like any other folder (they keep their locked accessible name/description, and report selectable = false). - Arrow keys move focus only and scroll the focused folder into view; activation - switching the chat list, or opening the Premium box for a locked folder - happens on Enter. - The list has one roving Tab-stop driven by focus (setListTabStop): a FocusIn on any folder - arrow, mouse or UIA SetFocus - makes it the single Tab-stop, wired main menu -> folder -> edit, always demoting the previous one; the active folder seeds it when nothing is focused. A refresh re-establishes the Tab-stop on the folder that was focused (or the active one), so rebuilding the list never leaves it without one. So Tab/Shift+Tab leave the list the same way regardless of which folder is focused, with no stray extra tab-stops.