zeroclaw/web
Argenis 1d57a0d1e5
fix(web/tools): improve a11y in collapsible section headings (#4197)
* fix(web/tools): make section headings collapsible

Agent Tools and CLI Tools section headings were static divs with no
way to collapse sections the user is not interested in, making the
page unwieldy with a large tool set.

- Convert both section heading divs to button elements toggling
  agentSectionOpen / cliSectionOpen state (both default open)
- Section content renders conditionally on those booleans
- ChevronsUpDown icon added (already in lucide-react bundle) that
  fades in on hover and indicates collapsed/expanded state
- No change to individual tool card parameter schema expand/collapse

Risk: Low — UI state only, no API or logic change.
Does not change: search/filter behaviour, tool card expand/collapse,
CLI tools table structure.

* fix(web/tools): improve a11y and fix invalid HTML in collapsible sections

- Replace <h2> inside <button> with <span role="heading" aria-level={2}>
  to fix invalid HTML (heading elements not permitted in interactive content)
- Add aria-expanded attribute to section toggle buttons for screen readers
- Add aria-controls + id linking buttons to their controlled sections
- Replace ChevronsUpDown with ChevronDown icon — ChevronsUpDown is
  visually symmetric so rotating 180deg has no visible effect; ChevronDown
  rotating to -90deg gives a clear directional cue
- Remove unused ChevronsUpDown import

---------

Co-authored-by: WareWolf-MoonWall <chris.hengge@gmail.com>
2026-03-21 21:02:10 -04:00
..
dist feat(channel): add interrupt_on_new_message support for Discord (#3918) 2026-03-19 19:33:37 -04:00
public fix(web): restore accidentally deleted logo file (#3988) 2026-03-19 14:21:15 -04:00
src fix(web/tools): improve a11y in collapsible section headings (#4197) 2026-03-21 21:02:10 -04:00
.gitignore fix(web): ensure web/dist exists in fresh clones (#3114) 2026-03-16 18:37:14 -04:00
index.html fix(docs): use absolute URLs for banner in all READMEs + update web dashboard logo 2026-03-19 16:31:21 -04:00
package-lock.json fix(web): update rollup to patch path traversal vulnerability (#3258) 2026-03-11 23:24:04 -04:00
package.json feat(web): electric blue dashboard restyle with animations and logo (#3445) 2026-03-13 17:27:41 -04:00
tsconfig.app.json feat(gateway): add embedded web dashboard with React frontend 2026-02-21 16:14:01 +08:00
tsconfig.json feat(gateway): add embedded web dashboard with React frontend 2026-02-21 16:14:01 +08:00
tsconfig.node.json feat(gateway): add embedded web dashboard with React frontend 2026-02-21 16:14:01 +08:00
vite.config.ts feat(web): electric blue dashboard restyle with animations and logo (#3445) 2026-03-13 17:27:41 -04:00