Skip to content

[Accessibility] Keep sign-up confirmation content reachable with large text - #140

Draft
joashrajin wants to merge 1 commit into
trunkfrom
codex/scroll-confirmation-content
Draft

joashrajin wants to merge 1 commit into
trunkfrom
codex/scroll-confirmation-content

Conversation

@joashrajin

Copy link
Copy Markdown
Owner

Fix

The signup email-confirmation layout used an exact-height, vertically centered LinearLayout. In a compact viewport at large font sizes, earlier content could consume the available height and leave the support message partially or completely clipped, with no way to scroll to it.

Wrap the existing centered content in a fill-viewport ScrollView. Content that fits remains centered; overflowing content is measured at its full height and can scroll. The existing text, link setup, spacing, artwork, and confirmation flow are unchanged.

Test

  • Ran the same compiled native-graphics Robolectric regression (class SHA-256 925e6e0…) against exact fork trunk a1280c2e and the fix on API 35, using the real layout, English production strings, a 320×424 compact fragment viewport, and 1×/2× font scales:
    • Base: 0/3 passed. At 2× font scale, the support view received 60px for a 156px text layout and the layout had no scroll path.
    • Fixed: 3/3 passed. Both messages retain complete geometry, overflow scrolls until the support message is fully visible, and fitting 1× content remains centered without a scroll range.
  • Confirmed the failure and fix independently on an API 31 emulator configured to 320×480 mdpi and 2× system font scale. In its 320×231 fragment viewport, the base support view collapsed to 0px; the fix measured it to 170px and made it fully reachable through a 338px scroll range.
  • Ran the forced local matrix: 169/169 Gradle tasks executed successfully.
    • JVM tests: 307/307 across 35 suites.
    • Android-test sources compiled successfully (32 Kotlin and 17 Java class outputs); no device-wide instrumentation suite was run.
    • Roborazzi: 14/14 references unchanged.
    • Debug/release APKs, release AAB, and release mapping rebuilt; all archives passed integrity checks.
    • The debug APK verifies with v1/v2 under the Android Debug certificate; the release APK/AAB are unsigned as expected locally.
    • Sentry mapping upload did not run because SENTRY_AUTH_TOKEN was unset.
  • Ran :Simplenote:lintDebug: 0 errors, 263 warnings, 1 hint, with no finding on either changed path.

Review

Please focus on the fillViewport structure: the inner wrap_content layout retains the existing centering when it fits, while the ScrollView gives oversized content a reachable overflow path.

The Robolectric regression inflates the real layout with the authentication theme and production strings, but it does not launch ConfirmationFragment, dispatch touch gestures, activate the email link, cover every locale or confirmation variant, verify scroll-position restoration, simulate TalkBack, or exercise physical hardware. The API 31 check was an emulator geometry probe rather than a full authentication flow.

Before publication, neither changed path appeared in any open fork or upstream pull request. This branch is based directly on fork trunk; no upstream branch or PR was written.

Release

Signup confirmation messages remain readable and scrollable on compact screens at large text sizes.

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.

1 participant