Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

Improve accessibility, keyboard nav & styles

8 months ago

baa42e2
Authored
mweinbach2/19/2026, 12:15:12 AM
Add ARIA labels and keyboard handlers across the UI (inputs, buttons, workspace rows, titlebar controls, sidebar toggle). Convert interactive rows to buttons (skills, provider rows) for semantics, add focus management and focus-visible styles, a modal focus trap with restore focus, and keyboard resizing for the sidebar resizer (with ARIA attributes). Style tweaks: muted color adjustments, increased hit targets (send/sidebar buttons), resizer visuals, reduced-motion support and a few layout refinements. Also bump provider SDK versions in package.json and bun.lock (ai, @ai-sdk/openai, @ai-sdk/gateway) to match updated deps.

Parent1ed0cbb

96 files changed
  • .agents/skills/ai-sdk/SKILL.md+78−0
  • .agents/skills/ai-sdk/references/ai-gateway.md+66−0
  • .agents/skills/ai-sdk/references/common-errors.md+443−0
  • .agents/skills/ai-sdk/references/devtools.md+52−0
  • .agents/skills/ai-sdk/references/type-safe-agents.md+204−0
  • .agents/skills/electron-architect/SKILL.md+414−0
  • .agents/skills/electron-architect/scripts/scaffold-project.sh+399−0
.agents/skills/react-doctor/SKILL.md
+41
−0
  • .agents/skills/vercel-composition-patterns/AGENTS.md+946−0
  • .agents/skills/vercel-composition-patterns/SKILL.md+89−0
  • .agents/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md+100−0
  • .agents/skills/vercel-composition-patterns/rules/architecture-compound-components.md+112−0
  • .agents/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md+87−0
  • .agents/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md+100−0
  • .agents/skills/vercel-composition-patterns/rules/react19-no-forwardref.md+42−0
  • .agents/skills/vercel-composition-patterns/rules/state-context-interface.md+191−0
  • .agents/skills/vercel-composition-patterns/rules/state-decouple-implementation.md+113−0
  • .agents/skills/vercel-composition-patterns/rules/state-lift-state.md+125−0
  • .agents/skills/vercel-react-best-practices/AGENTS.md+2934−0
  • .agents/skills/vercel-react-best-practices/SKILL.md+136−0
  • .agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md+55−0
  • .agents/skills/vercel-react-best-practices/rules/advanced-init-once.md+42−0
  • .agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md+39−0
  • .agents/skills/vercel-react-best-practices/rules/async-api-routes.md+38−0
  • .agents/skills/vercel-react-best-practices/rules/async-defer-await.md+80−0
  • .agents/skills/vercel-react-best-practices/rules/async-dependencies.md+51−0
  • .agents/skills/vercel-react-best-practices/rules/async-parallel.md+28−0
  • .agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md+99−0
  • .agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md+59−0
  • .agents/skills/vercel-react-best-practices/rules/bundle-conditional.md+31−0
  • .agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md+49−0
  • .agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md+35−0
  • .agents/skills/vercel-react-best-practices/rules/bundle-preload.md+50−0
  • .agents/skills/vercel-react-best-practices/rules/client-event-listeners.md+74−0
  • .agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md+71−0
  • .agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md+48−0
  • .agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md+56−0
  • .agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md+107−0
  • .agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md+80−0
  • .agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md+28−0
  • .agents/skills/vercel-react-best-practices/rules/js-cache-storage.md+70−0
  • .agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md+32−0
  • .agents/skills/vercel-react-best-practices/rules/js-early-exit.md+50−0
  • .agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md+45−0
  • .agents/skills/vercel-react-best-practices/rules/js-index-maps.md+37−0
  • .agents/skills/vercel-react-best-practices/rules/js-length-check-first.md+49−0
  • .agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md+82−0
  • .agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md+24−0
  • .agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md+57−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-activity.md+26−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md+47−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md+40−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md+38−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md+46−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md+82−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md+30−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md+28−0
  • .agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md+75−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md+39−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md+45−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md+40−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md+29−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md+74−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md+58−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md+38−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-memo.md+44−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md+45−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md+35−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-transitions.md+40−0
  • .agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md+73−0
  • .agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md+73−0
  • .agents/skills/vercel-react-best-practices/rules/server-auth-actions.md+96−0
  • .agents/skills/vercel-react-best-practices/rules/server-cache-lru.md+41−0
  • .agents/skills/vercel-react-best-practices/rules/server-cache-react.md+76−0
  • .agents/skills/vercel-react-best-practices/rules/server-dedup-props.md+65−0
  • .agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md+83−0
  • .agents/skills/vercel-react-best-practices/rules/server-serialization.md+38−0
  • apps/desktop/electron/ipc.ts+97−6
  • apps/desktop/electron/main.ts+5−0
  • apps/desktop/electron/preload.ts+142−18
  • apps/desktop/electron/services/persistence.ts+156−10
  • apps/desktop/src/styles.css+97−9
  • apps/desktop/src/ui/ChatView.tsx+87−60
  • apps/desktop/src/ui/PromptModal.tsx+106−8
  • apps/desktop/src/ui/Sidebar.tsx+10−0
  • apps/desktop/src/ui/SkillsView.tsx+5−3
  • apps/desktop/src/ui/TitleBar.tsx+21−3
  • apps/desktop/src/ui/layout/AppTopBar.tsx+4−1
  • apps/desktop/src/ui/layout/PrimaryContent.tsx+41−17
  • apps/desktop/src/ui/layout/SidebarResizer.tsx+28−0
  • apps/desktop/src/ui/settings/SettingsShell.tsx+47−30
  • apps/desktop/src/ui/settings/pages/ProvidersPage.tsx+8−3
  • apps/desktop/src/ui/settings/pages/WorkspacesPage.tsx+6−0
  • apps/desktop/test/persistence-state-sanitization.test.ts+134−0
  • bun.lock+6−5
  • package.json+2−2