Files
2026-11-01 22:01:32 -05:00

1.8 KiB

Audacious GUI verification

The shared AT-SPI table handling recognizes Qt trees exposing the Table interface and GTK list tables. A uniquely selected row can restore its showing, focused cell after a menu closes. Multiple selected rows must not produce a guessed focus target. GUI full-row speech omits cells that are not showing. When Qt hides a submenu without a focus event, its parent action is accepted only with fresh provider focus and visibility evidence.

Run python3 tests/native_audacious.py with Audacious's Qt and GTK interfaces, Xvfb, i3, xdotool, Python gi/pyatspi, and the native build dependencies installed. The harness creates temporary tracks and private configuration, display and D-Bus sessions. It checks queued speech and Braille for playlists, nested menus, the playlist manager, settings, and context menus. It does not verify audible speech or a physical Braille display. Also run the generic Qt checks.

For live acceptance:

  1. Quit Cthulhu with Cthulhu+Q. Press Ctrl+Escape, then Shift+G to rebuild and launch it. These are separate key presses.
  2. In an Audacious playlist, move between tracks. Expect the selected track's visible row content in speech and the focused cell on Braille, without hidden filename/path columns.
  3. Open Playlist's Sort submenu. Move through commands, then press Left and Escape. Expect the parent menu item on return and the original track when the menus close; arrow keys must continue moving through tracks.
  4. Open Settings, Tab and Shift+Tab through controls, then close it. Expect each focused control and restoration of the playlist. Unfocused password-field initialization must not be announced.
  5. Repeat with the other interface when available. Record the exact speech, Braille, focused control and key sequence for any discrepancy.