Installation
tokens.css + task-list.css + button.csshead.html
<link rel="stylesheet" href="tokens.css">
<link rel="stylesheet" href="components/task-list/task-list.css">Basic
Preview
1Review refund
Waiting on approval.
Code
task-list.html
<div class="au-task-rows" data-au-component="task-list" aria-label="Tasks"><details class="au-task-row"><summary><span class="au-task-row__index">1</span><span class="au-task-row__title">Review refund</span><span class="au-task-row__meta">queued</span></summary><p class="au-task-row__body">Waiting on approval.</p></details></div>Component contract
- Install
- tokens.css · task-list.css · button.css
- States
- Host-owned via data-au-state and documented variants
- Host
- content, state transitions, and execution behind actions
For agents
task-list.contract
# agent-ui / task-list
component: task-list
selector: .au-task-list
data_au_component: task-list
purpose: Task capsules and list rows (formerly task-rows).
install:
- tokens.css
- task-list.css
- button.css when rendering actions
states: Host-owned via data-au-state and documented variants.
css_variables: Uses shared semantic tokens.
events: native form, focus, and click only — no custom events or runtime required
no_javascript: Markup and native controls remain usable without script.
host_owns: The host owns content, state transitions, and execution behind actions.
accessibility: Prefer labelled regions and text status, not color alone.
security: Escape untrusted model and tool text before insertion.
rules:
- Host owns execution, authorization, persistence, validation, and state transitions.
- Components render host-provided state; they never execute tools or imply approval.
- Escape untrusted model output, tool args, and tool output before insertion.
- Use only documented data-au-* attributes and data-au-state values.
- Keep the no-JS path usable. Do not add React, Tailwind, bundlers, or remote assets.
source: components/task-list/task-list.{html,css} + README.md + fixture.html