Skip to content

Fix screen reader issues on homepage card headings and Events card#2314

Open
Ishxn20 wants to merge 2 commits into
experimentalfrom
accessibility/events-card-vo-fixes
Open

Fix screen reader issues on homepage card headings and Events card#2314
Ishxn20 wants to merge 2 commits into
experimentalfrom
accessibility/events-card-vo-fixes

Conversation

@Ishxn20

@Ishxn20 Ishxn20 commented Jun 19, 2026

Copy link
Copy Markdown

Summary

This makes homepage card titles, overflow menus, event images, and event date/time ranges easier to understand with a screen reader.

Verification

  • Focused analysis has no new issues; the existing ButtonBar deprecation remains unchanged.
  • Manual VoiceOver and TalkBack checks are still recommended before merge.

- Card titles (e.g. "EVENTS") are now exposed as headings and no longer merge with the trailing menu button into one "[title], button" announcement
- Event tile images now have descriptive alt text instead of none
- Event date and time ranges now read as full month names joined by "to" instead of an unreadable dash and inconsistently pronounced month abbreviations
Copilot AI review requested due to automatic review settings June 19, 2026 07:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR improves accessibility semantics for homepage cards (via shared CardContainer) and the Events card tiles to address screen reader issues found in a11y QA (headings, image alt text, and date/time range announcements).

Changes:

  • Adds heading semantics for card titles and an explicit label for the overflow/menu control in CardContainer.
  • Adds semantic labels for event thumbnails (and excludes the generic placeholder image from semantics).
  • Adds fully spelled-out semantics labels for event date/time ranges while keeping the visual abbreviated/dashed display unchanged.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
lib/ui/events/event_tile.dart Adds semantic labels for event images and for date/time ranges (while keeping existing compact UI).
lib/ui/common/card_container.dart Adds semantics to prevent title+menu merging and to expose headings/menu labels to screen readers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/ui/common/card_container.dart
Comment thread lib/ui/common/card_container.dart Outdated
Comment on lines 169 to 185
return Semantics(
container: true,
explicitChildNodes: true,
label: 'More options for $titleText',
child: ButtonBar(
buttonPadding: const EdgeInsets.all(0),
mainAxisSize: MainAxisSize.min,
children: [
buildMenuOptions(
{
CardMenuOptionConstants.RELOAD_CARD: reload,
CardMenuOptionConstants.HIDE_CARD: hide,
},
),
],
),
);
Comment thread lib/ui/events/event_tile.dart Outdated
Comment thread lib/ui/events/event_tile.dart Outdated
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