TalkBack, 3 of 10: Improve asset file accessibility - #6159
Draft
eliotcougar wants to merge 6 commits into
Draft
eliotcougar wants to merge 6 commits into
eliotcougar wants to merge 6 commits into
Conversation
This was referenced Aug 29, 2026
eliotcougar
marked this pull request as ready for review
August 30, 2026 17:47
eliotcougar
marked this pull request as draft
August 31, 2026 19:08
eliotcougar
marked this pull request as ready for review
September 2, 2026 00:38
eliotcougar
marked this pull request as draft
September 5, 2026 11:12
Group each asset file's informational text into one non-actionable semantics node while retaining native Edit and Delete buttons with contextual labels. Replace only the compact size and timestamp semantics with localized spoken text, and keep the visible row unchanged. Name asset sources in their delete action and confirmation, and make the touched editor form scroll safely above the IME.
Take only acc_add_asset and acc_download_file from Hossein Abaspanah's translation update (39725a4). Leave the broader translation changes in 2dust#6169. Play Store debug resource compilation and APK assembly pass. Co-authored-by: Hossein Abaspanah <63148255+hosseinabaspanah@users.noreply.github.com>
Remove Edit and Delete from accessibility swipe traversal while preserving direct touch and keyboard behavior. Present the available operations as ordered custom actions on the inert asset row without adding a row activation action.
Adopt the overlapping terminology corrections from PR 2dust#6169 and carry them into branch-only plural and accessibility resources. This keeps later merge resolution from restoring stale Bakhtiari wording.
Keep feature-specific additions away from the common translated lines changed by neighboring accessibility PRs. Preserve every resource name, value and placeholder in the existing catalog.
Use stable filename-derived IDs for built-in rows so reloads no longer replace their accessibility identity. Retain a pending deletion by saveable ID and resolve its current name; preserve editor drafts and confirmation visibility across recreation. Use the configured app locale and user 12/24-hour preference for minute-only dates, and Android localized file-size formatting consistently for visible and spoken metadata. Simplify missing metadata handling, unused list indices, and descriptions hidden by row-owned custom actions. Remove the standalone Android-test harness and keep two focused JVM identity regressions. All 59 JVM tests, Kotlin compilation, debug assembly, nine-locale checks, and both-order companion/upstream merge simulations pass. Emulator checks cover localized metadata, native controls and rotation; direct TalkBack actions and speech remain unverified. Asset storage operations and notification behavior are unchanged.
eliotcougar
force-pushed
the
fix/accessibility-asset-rows
branch
from
September 10, 2026 09:37
f09e52b to
8d0c3ec
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part 3 improves the Asset files list and asset-source editor without changing asset downloads, notification policy, or storage operations.
State and structure
Built-in assets have deterministic, filename-derived UI IDs rather than a new UUID on each reload. Persisted assets keep their existing GUIDs. These built-in IDs are not written to storage.
The pending list deletion stores only its saveable ID and resolves the current asset/name from the latest list. The source editor's draft and delete-confirmation visibility also survive recreation. No manual focus requests or custom announcements are added.
Metadata has one present/missing branch instead of repeated nullable checks. Redundant icon descriptions and unused list indices are removed; the row composable is private again. The existing list-building function is module-internal for two focused JVM regression tests, without adding another production helper.
The original 93-line Android instrumentation harness is removed. There are no new or retained Part 3
src/androidTestfiles.The editor keeps its scrollable, IME-aware form and consumed scaffold insets. Custom actions follow the documented Compose container-action pattern:
Validation —
f09e52b7bNot run / not established: direct custom-action invocation and spoken-label/focus-order checks with TalkBack. TalkBack bound, but injected keyboard shortcuts did not open its Actions menu; this is not reported as successful accessibility interaction. Full keyboard/D-pad activation, IME/inset, theme/dynamic-color, and process-death matrices were not completed. No fresh native-speaker translation review was performed.
Scope boundaries
Toast/snackbar/live-region policy stays in Part 1. No subscription, routing, server-list, native-core, or persisted-field changes are included.
The adjacent pre-existing asset-save validation-order bug is fixed separately in #6190. That single-file fix and this branch merge cleanly in either order with identical resulting trees; it is not bundled into this accessibility PR.