Skip to content

fix: clarified accessible control context - #18

Merged
jacobcxdev merged 6 commits into
mainfrom
jacobcxdev/ui-accessibility-followup
Sep 23, 2026
Merged

jacobcxdev merged 6 commits into
mainfrom
jacobcxdev/ui-accessibility-followup

Conversation

@jacobcxdev

@jacobcxdev jacobcxdev commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Preserved the Filter control's accessible name in the native toolbar.
  • Exposed localised expanded/collapsed state on version-group buttons without replacing their working actions.
  • Added Xcode version and runtime context to install and cancel controls without changing visible labels or action behaviour.
  • Enlarged undersized Delete, Make Active, Reveal, Cancel and Platforms targets to the 20-point macOS minimum without enlarging their glyphs.
  • Exposed the verification-code control's native editable accessibility cell while keeping decorative digits hidden.
  • Filled 58 tracked localisation gaps and corrected literal installation paths.
  • Reused translated active/latest/action labels in status help and identified Make Active targets; removed misleading Selected help from the detail button.
  • Replaced hardcoded selected-row cancel colours with semantic primary styling and removed obsolete highlight plumbing.
  • Explained permanent runtime deletion, simulator shutdown and recovery in the confirmation, with all 21 catalogue locales covered.
  • Prepared version 4.1.3 (51).

Evidence

  • Installed build exposed the filter as chevron.pulldown and repeated Install controls without target values.
  • Disposable native SwiftUI harnesses confirmed explicit filter names and action labels paired with target values.
  • Installed AX measurements found Delete at 12.5 × 14.5 points and Make Active at 13 × 13 points. Independent native harness measured the enlarged target at 20 × 20 points.
  • Current simctl help verified deletion and simulator shutdown semantics. Localisation and mutation checks passed with no missing translations; new translations are machine-assisted, not native-speaker reviewed.
  • Native PIN harness reproduced the missing field before the fix and verified editable AX input, binding propagation and one completion callback afterwards. Focused production tests passed five tests / eleven runs.
  • Production progress fixtures rendered without clipping in Light/Dark at 300 and 540 points. The actual progress button preserved its accessible name and size while preventing actions during busy state.
  • Independent review found no blocking issues.
  • Native disclosure checks verified AXValue Collapsed → Expanded → Collapsed, row counts 1 → 2 → 1, and no duplicate actions. The control remains a button; this does not claim native AXExpanded support.
  • Final shipping-source Debug build and full suite passed 143 tests / 149 runs, with no failures, skips or runtime warnings.
  • German and Arabic settings rendered with the effective process locale; translated controls fit and the Arabic literal path remains intact. Isolated production 2FA/SMS fixtures routed Escape from the native field editor to exactly one cancellation callback without activating the app.
  • Repaired stale release-identity expectations and an ineffective version mutation fixture; repository identity and mutation contracts passed.
  • Actual native List fixtures reproduced the invisible white Cancel icon on inactive light selection; semantic styling renders dark on inactive light and white on emphasised blue, with Light/Dark coverage. Native emphasis was set only in the disposable fixture; no desktop activation or preference changes.
  • Production split/detail fixtures fit the declared 600 × 300 minimum horizontally and scroll vertically. Native tooltip accessibility checks preserve distinct active/latest/action versions across English, German and Arabic.
  • Production authentication fixtures verified Tab/Return/Escape routing, empty and busy guards, and zero/one/multiple phone choices with inert callbacks. No real authentication, SMS or browser actions occurred.

Remaining verification

  • Verify the updated installed application, including production toolbar context and deletion warning text.
  • Actual VoiceOver speech, system Increase Contrast propagation and foreground selected-menu focus remain unverified; no desktop activation or global accessibility-setting changes were performed. This does not claim complete accessibility certification or fix the still-unexplained empty application window enumeration.

- Added target versions to install and cancel controls.
- Preserved a meaningful filter name in native toolbars.
- Kept visible labels and action behaviour unchanged.
@jacobcxdev jacobcxdev self-assigned this Sep 23, 2026
- Enlarged undersized icon controls to the macOS minimum target size.
- Explained runtime removal consequences and recovery across supported locales.
- Prepared version 4.1.3 (51) for the accessibility follow-up.
- Aligned expected release identity with version 4.1.3 (51).
- Restored clean fixtures before checking stale versions.
- Replaced a stale no-op mutation with an asserted version-independent mutation.
- Exposed native verification-code input and preserved decorative digit hiding.
- Enlarged small action targets without changing their behaviour.
- Filled missing translations and corrected mixed-direction path copy.
- Tightened localisation checks and added accessibility regression coverage.
- Localised active-version help and exposed exact action targets.
- Removed stale selection wording from detail controls.
- Replaced fixed selection colours with adaptive system styling.
- Removed obsolete highlight plumbing and corrected an Arabic translation.
- Added localised expanded and collapsed accessibility values across supported languages.
- Preserved existing group actions and verified both state transitions without desktop activation.
@jacobcxdev
jacobcxdev merged commit e2eca57 into main Sep 23, 2026
2 checks passed
@jacobcxdev
jacobcxdev deleted the jacobcxdev/ui-accessibility-followup branch September 23, 2026 02:42
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