Improve timetable talkback feedback#609
Conversation
| <string name="error_occurred">エラー...</string> | ||
| <string name="retry">再試行</string> | ||
| <string name="add_to_bookmark">ブックマークに登録</string> | ||
| <string name="remove_from_bookmark">ブックマークを削除</string> |
There was a problem hiding this comment.
The same wording is found here, Would it be better to make it publicResClass = false and make it common?
There was a problem hiding this comment.
Yes, that sounds like a good idea. Could you please make it common?
There was a problem hiding this comment.
I tried to implemented at 50ec935 .
Could you please check this? 🙏
There was a problem hiding this comment.
Pull Request Overview
This PR improves accessibility support for TalkBack users in the timetable screen by implementing custom accessibility actions for bookmark functionality and enhancing time slot navigation.
- Replaced direct bookmark button clicks with custom accessibility actions for better screen reader support
- Added semantic grouping for time display elements with clear heading indicators
- Updated string resources to provide more descriptive bookmark action labels
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| FavoritesScreenRobot.kt | Updated test to use custom accessibility action instead of direct button click |
| TimetableItemCard.kt | Added custom accessibility actions for bookmark functionality and cleared button semantics |
| TimetableTimeSlot.kt | Enhanced time slot accessibility with semantic grouping and heading indicators |
| strings.xml (English) | Replaced generic bookmark status strings with action-oriented labels |
| strings.xml (Japanese) | Updated Japanese translations for bookmark actions |
| import io.github.droidkaigi.confsched.droidkaigiui.add_to_bookmark | ||
| import io.github.droidkaigi.confsched.droidkaigiui.component.OutlinedToolTip | ||
| import io.github.droidkaigi.confsched.droidkaigiui.component.RoomToolTip | ||
| import io.github.droidkaigi.confsched.droidkaigiui.extension.icon | ||
| import io.github.droidkaigi.confsched.droidkaigiui.extension.roomTheme | ||
| import io.github.droidkaigi.confsched.droidkaigiui.not_bookmarked | ||
| import io.github.droidkaigi.confsched.droidkaigiui.remove_from_bookmark |
There was a problem hiding this comment.
The import statements reference string resources incorrectly. String resources should be accessed via DroidkaigiuiRes.string.add_to_bookmark and DroidkaigiuiRes.string.remove_from_bookmark, not as direct imports.
| import io.github.droidkaigi.confsched.droidkaigiui.extension.icon | ||
| import io.github.droidkaigi.confsched.droidkaigiui.extension.roomTheme | ||
| import io.github.droidkaigi.confsched.droidkaigiui.not_bookmarked | ||
| import io.github.droidkaigi.confsched.droidkaigiui.remove_from_bookmark |
There was a problem hiding this comment.
The import statements reference string resources incorrectly. String resources should be accessed via DroidkaigiuiRes.string.add_to_bookmark and DroidkaigiuiRes.string.remove_from_bookmark, not as direct imports.
| composeUiTest.onAllNodes(hasTestTag(TimetableItemCardTestTag)) | ||
| .onFirst() | ||
| .performClick() | ||
| .performCustomAccessibilityActionWithLabel("Remove from Bookmarks") |
There was a problem hiding this comment.
The hardcoded string 'Remove from Bookmarks' should be extracted to a constant or use the same string resource to ensure consistency with the UI labels and support for localization.
kilalabu
left a comment
There was a problem hiding this comment.
Thank you for your contribution and for focusing on accessibility!
| <string name="error_occurred">エラー...</string> | ||
| <string name="retry">再試行</string> | ||
| <string name="add_to_bookmark">ブックマークに登録</string> | ||
| <string name="remove_from_bookmark">ブックマークを削除</string> |
There was a problem hiding this comment.
Yes, that sounds like a good idea. Could you please make it common?
|
Snapshot diff report
|
|
There's a similar diff here. 🤔 |
kilalabu
left a comment
There was a problem hiding this comment.
Looks nice. Thank you !!

Issue
Overview (Required)
Links
Screenshot (Optional if screenshot test is present or unrelated to UI)
Movie (Optional)
Screen_recording_20250908_215143.mp4
Screen_recording_20250908_215036.mp4