Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
5b74a7c
frontend/aria: get started annotating elements
haraldschilly Oct 24, 2025
a68d6d3
Merge remote-tracking branch 'origin/master' into aria-20251024
haraldschilly Oct 28, 2025
2ece112
frontend/aria: Complete Phase 10 - Editor Frame Infrastructure
haraldschilly Oct 28, 2025
f7b51b0
docs/aria: Add best practices for direct ARIA on components
haraldschilly Oct 28, 2025
c15b155
Merge remote-tracking branch 'origin/master' into aria-20251024
haraldschilly Oct 30, 2025
0fc1c9e
frontend/project-page: Add tab semantics to activity bar and file tab…
haraldschilly Oct 30, 2025
7ea5f91
frontend/app: Add ARIA semantics to app shell and navigation (Phase 1…
haraldschilly Oct 30, 2025
daa7260
frontend/aria: ARIA for app itself, phase 12/P1
haraldschilly Oct 30, 2025
13bec8c
frontend/aria: make top projects tab a landmark and make tab+return work
haraldschilly Nov 6, 2025
26c30b7
frontend/aria: start making autoFocus configurable
haraldschilly Nov 6, 2025
0a92469
frontend/aria: steps towards focussing on content
haraldschilly Nov 7, 2025
f66337d
frontend/aria: hotkey nav
haraldschilly Nov 7, 2025
db006b2
Merge remote-tracking branch 'origin/master' into aria-20251024
haraldschilly Nov 10, 2025
7e62e50
frontend/aria/hotkey: improve dialog …
haraldschilly Nov 11, 2025
8a47776
frontend/aria: page in general, lighthouse accessibility testing, ...
haraldschilly Nov 13, 2025
24cb036
frontend/projects/aria: keyboard nav + aria tweaks
haraldschilly Nov 13, 2025
41a841e
frontend/aria/hotkey: compute tree only when dialog is visible
haraldschilly Nov 14, 2025
436f9bd
frontend/aria/hotkey: toggle side chat with 0
haraldschilly Nov 14, 2025
e90aaf8
frontend/aria/hotkey: recent files and bugfixes
haraldschilly Nov 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/.claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,13 @@
"mcp__github__get_pull_request_files",
"mcp__github__get_pull_request_status",
"mcp__github__list_workflow_runs",
"mcp__github__list_workflows"
"mcp__github__list_workflows",
"mcp__chrome-devtools__new_page",
"mcp__chrome-devtools__wait_for",
"mcp__chrome-devtools__navigate_page",
"mcp__chrome-devtools__list_pages",
"mcp__chrome-devtools__click",
"mcp__chrome-devtools__press_key"
],
"deny": []
}
Expand Down
21 changes: 19 additions & 2 deletions src/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ CoCalc is organized as a monorepo with key packages:
- Prefix git commits with the package and general area. e.g. 'frontend/latex: ...' if it concerns latex editor changes in the packages/frontend/... code.
- When pushing a new branch to Github, track it upstream. e.g. `git push --set-upstream origin feature-foo` for branch "feature-foo".


## React-intl / Internationalization (i18n)

CoCalc uses react-intl for internationalization with SimpleLocalize as the translation platform.
Expand Down Expand Up @@ -210,6 +209,24 @@ Same flow as above, but **before 3. i18n:upload**, delete the key. Only new keys
- `packages/frontend/i18n/trans/[locale].compiled.json` - compiled translation files for runtime
- `packages/frontend/i18n/index.ts` - exports and locale loading logic

## ARIA Landmarks and Accessibility

The CoCalc frontend should implement ARIA landmarks to enable proper landmark-based navigation for users with assistive technologies (screen readers, keyboard navigation tools, etc.).

**Important**: See [./dev/ARIA.md](./dev/ARIA.md) for comprehensive documentation on:

- What ARIA landmarks are and why they matter
- CoCalc's three-level navigation hierarchy
- How to implement landmarks in React/TSX components
- Best practices and implementation guidelines

Key points:

- Use semantic HTML elements (`<main>`, `<nav>`, `<aside>`, `<footer>`) which automatically create landmarks
- Use `role="region"` with `aria-label` for custom sections (toolbars, symbol panels, etc.)
- Use `aria-label` to distinguish between multiple regions of the same type
- Keep landmarks to 7 or fewer per page for optimal usability

# Ignore

- Ignore files covered by `.gitignore`
Expand All @@ -223,4 +240,4 @@ Same flow as above, but **before 3. i18n:upload**, delete the key. Only new keys
- ALWAYS prefer editing an existing file to creating a new one
- REFUSE to modify files when the git repository is on the `master` or `main` branch
- NEVER proactively create documentation files (`*.md`) or README files. Only create documentation files if explicitly requested by the User
- when modifying a file with a copyright banner at the top, make sure to fix/add the current year to indicate the copyright year
- when modifying a file with a copyright banner at the top, make sure to fix/add the current year to indicate the copyright year
Loading