Skip to content

Commit 4789e19

Browse files
committed
docs: update accessibility spec, plan, and conventions
1 parent 3614df1 commit 4789e19

4 files changed

Lines changed: 155 additions & 125 deletions

File tree

CLAUDE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
2828
## Accessibility (a11y)
2929

3030
### Screen reader
31+
3132
- All interactive elements need `accessibilityLabel` + `accessibilityRole`
3233
- Use `react-native-a11y-order` (`A11y.Order` / `A11y.Index`) when reading order differs from visual order
3334
- Use `AccessibilityInfo.setAccessibilityFocus()` to focus important elements on mount (e.g., incoming call)
@@ -36,12 +37,18 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
3637
- `accessibilityElementsHidden={true}` on containers that are visually hidden but still mounted
3738

3839
### Font scaling
40+
3941
- Text scales automatically — never set `allowFontScaling={false}` unless layout is provably broken
4042
- `useResponsiveLayout()` provides `fontScale`, `fontScaleLimited` (capped at `FONT_SCALE_LIMIT = 1.3`), `width`, `height`
4143
- Apply `fontScaleLimited` only where large font scales break fixed-size containers — not by default
4244
- Fixed-size touch targets (icon buttons, avatars) do not need to scale
4345

4446
### Landscape / responsive layout
47+
4548
- Always use `useResponsiveLayout()` (not `useWindowDimensions()` directly) to get `width` / `height`
4649
- Derive `isLandscape = width > height` from those values
4750
- `useResponsiveLayout` is the single source of truth for dimensions — avoids conflicts with tablet (Master Detail) layout
51+
52+
## graphify
53+
54+
Before answering codebase architecture questions, read `graphify-out/graph.json` for structure. Use the graph to find relevant files and connections instead of exploring blindly.

0 commit comments

Comments
 (0)