Files
ElyOffice/tasks/reviews/R4.1-r1.md
T

1.8 KiB

FAIL

  1. ../Ely-GPUI-Components/src/menus/model.rs:155 — Invalidating the highlighted button silently selects a different command. Highlight Paste in a Cut / disabled Copy / Paste row, then have the owner disable Paste or remove it while the menu remains open. settled chooses Cut, so Enter executes Cut without the user selecting it. Both runtime probes reproduced ["cut"] instead of no command. Separate initial/explicit navigation from selection validation: clear the mark when its button disappears or becomes disabled, and require another navigation action before executing anything. Add regressions for both changes.

  2. ../Ely-GPUI-Components/src/menus/menu.rs:241 — Horizontal button navigation does not work in SearchableMenu. Open the new test fixture's searchable menu with an empty filter, press Right, then Enter: it runs Cut instead of skipping disabled Copy and running Paste. The focused TextInput consumes its bound Left/Right actions before this key listener; the menu captures only Up/Down/Enter. Handle horizontal navigation through the corresponding captured actions when a button row is active, or explicitly move focus to that row. Add an unfiltered keyboard-navigation regression; searching for Paste does not exercise this path.

  3. ../Ely-GPUI-Components/src/menus/draw.rs:99 — Disabled icon buttons expose no unavailable state to assistive technology. The rendered properties for disabled Copy are only Node { role: Button, label: "Copy" }; disabling affects color and mouse handlers alone. A screen reader cannot distinguish unavailable Copy from an enabled command, contrary to PRD UX-12 and the component library's disabled-control rule. Set the localized unavailable description, as IconButton does, and test the disabled button's accessible properties.