Commit Graph

4 Commits

Author SHA1 Message Date
google-labs-jules[bot]
a136c9c236 feat(a11y): add Skip Link component and main content IDs
- Add `SkipLink` component that appears on focus and jumps to main content.
- Update `en.ts` and `de.ts` with "Skip to content" translation.
- Add `id="main-content"`, `tabIndex={-1}`, and `outline: 'none'` to `Home`, `About`, and `Contact` pages to ensure proper focus management.
- Add tests for `SkipLink`.
- Document Skip Link pattern in `.Jules/palette.md`.

This improves accessibility for keyboard and screen reader users by allowing them to bypass navigation.

Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com>
2026-02-05 02:00:18 +00:00
google-labs-jules[bot]
a27a54843e feat(ui): add character counter to controlled Input and Textarea components
Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com>
2026-01-30 01:56:58 +00:00
google-labs-jules[bot]
6d94ac7b93 🎨 Palette: Improve Button loading state accessibility
- Add `aria-busy` attribute to Button when loading.
- Refactor Button rendering to keep children in DOM (visually hidden) instead of unmounting.
- Fix layout shift regression by replicating flex properties in content wrapper.
- Move inline styles to CSS modules.
- Add tests for loading state accessibility.

Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com>
2026-01-27 01:42:19 +00:00
google-labs-jules[bot]
ffe37fad37 feat: Improve Input accessibility with ARIA attributes
Add `aria-invalid` and `aria-describedby` attributes to Input and Textarea components when an error is present.
This ensures screen readers announce the validation error when the input is focused.
Also added unit tests for these accessibility attributes.
2026-01-24 10:08:34 +00:00