Skip to content

Conversation

@ShaneK
Copy link
Member

@ShaneK ShaneK commented Dec 29, 2025

Issue number: resolves internal


What is the current behavior?

When using ion-input with a label on Android, TalkBack treats the visual label text as a separate focusable element. This causes the initial focus to land on the label instead of the input field, creating a confusing experience for screen reader users.

What is the new behavior?

The label text wrapper is now hidden from the accessibility tree via aria-hidden="true", while the native input maintains proper labeling through aria-labelledby. This ensures Android TalkBack focuses directly on the input field while still announcing the label correctly.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Current dev build:

8.7.16-dev.11767032989.1ae720d0

@ShaneK ShaneK requested a review from a team as a code owner December 29, 2025 18:06
@ShaneK ShaneK requested a review from brandyscarney December 29, 2025 18:06
@vercel
Copy link

vercel bot commented Dec 29, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
ionic-framework Ready Ready Preview, Comment Dec 29, 2025 6:07pm

Copy link
Contributor

@thetaPC thetaPC left a comment

Choose a reason for hiding this comment

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

Where are we getting the expectation for this behavior? When I tested the native inputs from W3 examples to verify that we match, but the screen reader is reading the labels first. Based on this, I would expect that the labels are focused first then the input.

@ShaneK
Copy link
Member Author

ShaneK commented Jan 13, 2026

@thetaPC

Where are we getting the expectation for this behavior? When I tested the native inputs from W3 examples to verify that we match, but the screen reader is reading the labels first. Based on this, I would expect that the labels are focused first then the input.

AAA had an ADA audit that flagged this behavior as unexpected

@brandyscarney brandyscarney removed their request for review January 13, 2026 20:32
@ShaneK ShaneK enabled auto-merge January 14, 2026 16:05
Copy link
Contributor

@thetaPC thetaPC left a comment

Choose a reason for hiding this comment

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

LGTM

@ShaneK ShaneK added this pull request to the merge queue Jan 14, 2026
Merged via the queue into main with commit ab733b7 Jan 14, 2026
64 checks passed
@ShaneK ShaneK deleted the IONIC-76 branch January 14, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: core @ionic/core package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants