Skip to content

feat: add accessibility preferences and inline account settings - #83

Merged
Eoic merged 2 commits into
developmentfrom
feat/accessibility-and-account-settings
Oct 24, 2026
Merged

Eoic merged 2 commits into
developmentfrom
feat/accessibility-and-account-settings

Conversation

@Eoic

@Eoic Eoic commented Oct 24, 2026

Copy link
Copy Markdown
Member

Settings now provides working device-wide accessibility preferences and inline account editing, including persistent anonymous profiles and private signed-in photo uploads.

Issue and requirements

Refs PapyrusReader/docs#65 (NFR-5_2, foundation only) and FR-1_4 (offline profile isolation).
Server dependency: PapyrusReader/server#42.
Documentation and audit: PapyrusReader/docs#88.

Summary

  • Rename Profile navigation to Settings with a gear icon. Add interface enlargement that preserves system/nonlinear scaling, high contrast, bold text, OpenDyslexic, and reduced-motion handling. Keep embedded reader text metrics on system settings.
  • Improve shared control semantics, keyboard traversal/focus retention, authentication autofill/paste, responsive forms, modal placement, contrast surfaces, and explicit library actions. Retain the original compact book-cover controls.
  • Put avatar/name editing directly in Account, with disabled email above Display name for signed-in users. Save anonymous profiles locally, normalize uploaded images, and restore saved browser avatars correctly.
  • Allow anonymous account deletion with scoped library/media/catalog/profile cleanup and return to login.
  • Simplify unavailable Settings sections, correct desktop scrolling/top alignment, enlarge mobile section headings, and refine book forms, sheets, confirmation dialogs, and sidebar alignment.

Testing

  • Full client suite: 1,927 passed, 19 skipped.
  • Chrome: 19 passing profile/storage/layout regressions, including real browser-storage avatar decoding, scrolling over empty space, top alignment, and keyboard traversal.
  • Client formatting, analysis, four web bootstrap tests, and release web build with Wasm dry run passed.
  • Companion server: 33 focused PostgreSQL-backed tests passed.

UI evidence

The linked documentation audit records browser inspection and automated scenarios at 320, 390, and 1280 logical pixels, enlarged text, contrast variants, and keyboard behavior. Screenshots are not attached to this PR. VoiceOver, TalkBack, and complete native acceptance remain pending.

Compatibility and migration

No version bump, database migration, synchronization schema change, or reader-package change. Deploy server PR #42 before releasing this client with signed-in photo uploads. New preferences are device-local and reuse the existing font preference. Existing local reader override and lockfile changes are excluded from this commit.

Notes

This does not establish full-app accessibility conformance. Reader content and broader pages remain unaudited. Compact book-cover controls retain the existing 30-pixel targets as a documented product-target exception. Signed-in profile saves require the server, while anonymous name/photo edits work offline.

Checklist

  • Branch and commit target development and follow repository conventions.
  • Changes cover the agreed accessibility and account/settings scope.
  • Behavioral, persistence, semantics, and browser regressions are included.
  • Formatting, analysis, tests, and web compilation pass locally.
  • Documentation and deployment notes are linked.
  • Native assistive-technology acceptance and attached UI screenshots.
  • No credentials or personal data are included. Bundled fonts include their license.
  • Branch is based on the current development revision.

Refs PapyrusReader/docs#65. Preserve system accessibility behavior, improve shared controls, and persist guest profiles alongside private account photo uploads.
Copilot AI balanced review requested due to automatic review settings October 24, 2026 01:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-24T01:53:00.788487Z c4ed082 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4ed0822fe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread app/lib/services/guest_account_deletion_service.dart
@Eoic
Eoic merged commit 089c58a into development Oct 24, 2026
4 checks passed
@Eoic
Eoic deleted the feat/accessibility-and-account-settings branch October 24, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants