Complete Android accessibility, adaptive-layout, localization, and performance hardening #105

Open
opened 2026-08-17 19:15:15 +00:00 by hugo · 0 comments
Owner

Goal

Polish the complete Android client for the diversity of Android devices and input/accessibility configurations before the final audit.

Scope

  • Verify every screen with TalkBack, Switch Access where available, large font/display scaling, high contrast, color correction, reduced motion, hardware keyboard/D-pad, touch, and RTL layouts.
  • Use semantic labels/actions/state descriptions that do not announce hidden secrets. Provide non-gesture alternatives for swipe, drag/reorder, pull-to-refresh, reveal, copy, and destructive actions.
  • Validate compact/medium/expanded widths, tablets, foldables in folded/unfolded/tabletop postures, live resize, multi-window, desktop windowing, portrait/landscape, cutouts, edge-to-edge, and IME insets.
  • Externalize all user-facing Kotlin strings and format plural/date/time values correctly. Rust-owned view-ready text remains the domain source until a separately designed localization contract replaces it; never parse it.
  • Measure cold/warm startup including native loading, large-tree navigation/search, TOTP cached open/refresh, editor typing, QR analysis, and credential-provider response latency.
  • Remove main-thread bridge/file/network work, ANRs, unbounded allocations, recomposition churn, and stale/cancelled work. Add Baseline Profiles/Macrobenchmarks for proven critical journeys.
  • Exercise low-memory/process death, battery saver, doze, offline, metered network, camera interruption, and storage pressure without weakening security.
  • Run Compose accessibility checks and representative physical-device smoke tests across OEM/API/ABI classes.

Acceptance criteria

  • No unexplained Tier 2 adaptive/large-screen, accessibility, RTL, or keyboard gap remains.
  • Hidden secrets are not exposed through semantics or accessibility announcements.
  • Documented performance budgets are met on a representative lower-end API-26-class device and current arm64 device, or deviations have actionable follow-ups.
  • No interactive secret/repository operation is incorrectly moved into background work to hide latency.
  • The UI remains coherent across fold/resize/process recreation and cancellation.

Depends on completion of all Android feature UI issues. Part of #87.

## Goal Polish the complete Android client for the diversity of Android devices and input/accessibility configurations before the final audit. ## Scope - Verify every screen with TalkBack, Switch Access where available, large font/display scaling, high contrast, color correction, reduced motion, hardware keyboard/D-pad, touch, and RTL layouts. - Use semantic labels/actions/state descriptions that do not announce hidden secrets. Provide non-gesture alternatives for swipe, drag/reorder, pull-to-refresh, reveal, copy, and destructive actions. - Validate compact/medium/expanded widths, tablets, foldables in folded/unfolded/tabletop postures, live resize, multi-window, desktop windowing, portrait/landscape, cutouts, edge-to-edge, and IME insets. - Externalize all user-facing Kotlin strings and format plural/date/time values correctly. Rust-owned view-ready text remains the domain source until a separately designed localization contract replaces it; never parse it. - Measure cold/warm startup including native loading, large-tree navigation/search, TOTP cached open/refresh, editor typing, QR analysis, and credential-provider response latency. - Remove main-thread bridge/file/network work, ANRs, unbounded allocations, recomposition churn, and stale/cancelled work. Add Baseline Profiles/Macrobenchmarks for proven critical journeys. - Exercise low-memory/process death, battery saver, doze, offline, metered network, camera interruption, and storage pressure without weakening security. - Run Compose accessibility checks and representative physical-device smoke tests across OEM/API/ABI classes. ## Acceptance criteria - No unexplained Tier 2 adaptive/large-screen, accessibility, RTL, or keyboard gap remains. - Hidden secrets are not exposed through semantics or accessibility announcements. - Documented performance budgets are met on a representative lower-end API-26-class device and current arm64 device, or deviations have actionable follow-ups. - No interactive secret/repository operation is incorrectly moved into background work to hide latency. - The UI remains coherent across fold/resize/process recreation and cancellation. Depends on completion of all Android feature UI issues. Part of #87.
hugo added this to the 06 - Implement an Android version of the software milestone 2026-08-17 19:15:15 +00:00
hugo added the enhancement label 2026-08-17 19:15:15 +00:00
Sign in to join this conversation.