doc_id: computer-use-ui-coverage title: “Computer Use Semantic UI Coverage” language: en source_language: en implementation_status: current document_status: current translation_status: source-only last_verified: 2026-09-11 owners:

  • maka-backend

Computer Use Semantic UI Coverage

Status: maintained source and runtime inventory for Maka Desktop's Computer Use target, state, focus, action and effect semantics.

This document defines what “covered” means for Computer Use operability. A page is not complete merely because it renders or because every button has a non-empty name. Critical surfaces must expose an unambiguous target, state, keyboard/focus behavior, and an observable effect.

This gate is not a claim of complete WCAG conformance or complete assistive technology behavior. In particular, live-region and announcement completeness are not measured here; they require separate accessibility testing.

Automated surface inventory

SurfaceRuntime statesSemantic actions and effects
SettingsTop-level navigation entries are covered through the Storybook settings-pages stories; provider list/detail/catalog/add, subagent editor, memory populated, permission diagnostics, import empty/ready, usage variants, Daily Review selector and narrow states are in Storybook (the Electron-side dynamic enumeration was retired by #4803)Navigation exposes aria-current; focused nested stories exercise dialogs, disclosures, selectors and editors
ExtensionsSkills empty/installed/bundled/update/disabled/narrow/inspector; MCP setup/marketplace/configured/inspector/editor/failure/narrowPage selection, inspector/editor opening and actionable-node identity
Scheduled workEmpty/configured/long/narrow/task inspector; Daily Review loading/error/refreshing/reportTask selection, dialog focus, selector state and report actions
Conversation shellNew task, settled conversation, streaming, permission wait, native conversation, modes, context and inline completionComposer submit effect, unique per-task and per-turn actions, current regions and workbar selection
WorkbarLauncher plus side chat, changes, active terminal, browser chrome, files, tasks and trace statesSelected tabs, terminal input reaches the PTY bridge, browser navigation reaches the browser bridge
Dialogs and overlaysRename, scheduled-task form, Mermaid fullscreen, side-chat close, onboarding QR, WeChat QR, Runtime Host SSH and remote directory chooserDialog naming/focus, rename callback, close confirmation, SSH input, directory navigation and registration
Generated contentMarkdown, tool output, attachments, Mermaid and HTML artifact iframeScoped copy actions, fullscreen dialog and sandboxed iframe semantics
Embedded browser pageLive WebContentsView on a loopback fixtureSeparate observe -> semantic ref -> fill/click -> business-effect smoke through the production browser bridge

The Storybook catalog is exhaustive for its source-defined entries and the smoke runner carries a required Computer Use story manifest for critical runtime boundaries. The Electron-side broad route inventory (a spec that dynamically enumerated settings navigation, then modules, global overlays, conversations and all workbar entry points) was retired by #4803 rather than relocated; the surviving Electron journeys cover revision, WorkHub and draft-focus boundaries only.

AX completion gates

Every measured final state fails on:

  • an AX tree with zero exposed nodes, including trees containing only ignored Chromium source records;
  • an actionable node without a name;
  • two actionable nodes with the same role, name and semantic scope;
  • more than one primary main landmark;
  • a dialog without a name;
  • a checkbox, radio, switch, menu checkbox/radio, option, tab, combobox, slider or spinbutton without its required state/value;
  • focus inside an inert or aria-hidden surface;
  • a visible modal dialog that does not own focus.

Critical stories additionally assert action-specific effects. (An Electron variant that waited for the specifically named prior dialog to close before auditing the next one was part of the retired route-inventory spec; the surviving journeys do not carry it.) Transport success or a generic dialog match alone is not accepted.

Repeated message and answer actions use a bounded excerpt of visible text plus a stable human-readable timestamp. Opaque storage IDs remain machine data and are not spoken as the user-facing differentiator.

Platform boundaries

  • Renderer and same-process iframe semantics are validated through Chromium's full AX tree.
  • Embedded browser content is a separate WebContentsView; it is validated through its production semantic snapshot/action bridge, not falsely claimed as part of the renderer tree.
  • xterm surfaces run with screenReaderMode and have active PTY and SSH input fixtures.
  • Third-party page markup, Chromium's PDF plugin, native file dialogs and operating-system permission dialogs remain owned by their respective platform/provider. Maka validates the controls it owns around those surfaces and fails closed when the external target is unavailable or ambiguous.
  • Native macOS AX and Windows UIA packaged-app spot checks remain release gates; Linux CI cannot substitute for those platform trees.

Performance contract

The product adds no accessibility dependency, production AX/DOM walker, global MutationObserver, timer, polling loop, OCR model or hidden duplicate agent UI. Semantic names and state are emitted by the existing React render. All full-tree walking, duplicate detection and inventory enforcement run only in tests and developer tooling. Existing lazy module, workbar and dialog loading remains unchanged.