# M14-04H Status status: done task: Chromium keyboard-only, accessible names/roles and focus restoration updated: 2026-08-19 America/New_York enablingTask: false parityStateChange: false ## Scope The Chromium keyboard gate runs real main-thread and OffscreenCanvas pages. Tab reaches the File menu, Enter opens it with menuitem focus, Escape restores the trigger, and F3 opens Operator Search with Escape restoring its trigger. The checker also scans visible interactive elements for an accessible name and records the count per backend. ## Evidence - `npm --prefix web run build` passed. - `npm --prefix web run test:chromium-accessibility` passed for both production backends. - Checker output: `chromium-accessibility-ok backends=main,offscreen menuFocus=RESTORED operatorSearchFocus=RESTORED names=COMPLETE execution=DISABLED next=M15-01A`. - `npm --prefix web run typecheck` and `git diff --check` passed. ## Artifact Hashes - parent manifest: `a5a80cedd824cc4aac27bd2cec39e11560d4cf3207ab947a1abe19c8bb9e053f` - checker: `b39cdef61007e5ac1f2e7686ccdffd42f6b9723b2e93a7bd63e46800c4453ced` - app: `5861988f3dfbb8c05d36aee3033a72514de53a0cb4ec6f3d832418ef6b5cc8b2` - CSS: `5961164f29e25b461c03201534fe56e32020633cac6c0970e149a58ba9f6e9fc` - reference e2e: `e74a53a1f9e9bfea73be8da1de486938d0dcc4718e7585b57bee27a5ce78a978` - report: `508adab3c6ced83c95bcced36d610c20f2f2fd456637cb79568b4b824d66ead9` - manifest: `2c4e4323250f3426f610babb42978ba36c48e471729b20b0ce8f3483eb6f899c` ## Next Task `M15-01A`: generate a Blender 5.2 RNA data-block type inventory. ## Rollback Remove the accessibility checker, accessible-name fix, report, manifest, package command and this status/task entry; restore `M14-04G` as the queue tail.