Files
AyuGramDesktop/Telegram/SourceFiles/window
Reza Bakhshi Laktasaraei 949f2a6b34 Expose the chat-folders strip as a list, not a tab control
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.
2026-06-26 14:30:31 +04:00
..