Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessibility regression: The block contenteditable aria-multiline value is now an empty string #24034

Closed
afercia opened this issue Jul 18, 2020 · 1 comment · Fixed by #24041
Assignees
Labels
[Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). [Priority] High Used to indicate top priority items that need quick attention [Status] In Progress Tracking issues with work in progress [Type] Bug An existing feature does not function as intended [Type] Regression Related to a regression in the latest release

Comments

@afercia
Copy link
Contributor

afercia commented Jul 18, 2020

Describe the bug

See #19124 (comment)

In #23132 the default value for the aria-multiline attribute set to the blocks contenteditable was changed to empty string.

This attribute needs an explicit true string value so that is rendered as aria-multiline="true". This was discussed long time ago, as there was some overlapping in the way the related prop was used. The issue was clarified at WordCamp US Nashville 2017. The implementation is now changed, not sure why.

Worth reminding once again that this attribute is only meant to be used for assistive technologies. Amongst other things, a true value allows screen readers to differentiate between a textbox role meant as equivalent of an input field, and a textbox role that needs to be perceived as a textarea element instead.

More details: https://www.w3.org/TR/wai-aria-1.1/#aria-multiline

Screenshots to clarify, testing with Safari + VoiceOver:

With an empty value aria-multiline="", the block is announced as "text field":

text field

With a value aria-multiline="true", the block is announced as "textarea":

text area

I'm not sure if the related prop is still used internally also for other purposes. Regardless, what is needed for accessibility is that all the contenteditable elements (with the exceptions that were already implemented before the recent refactoring) have a non-empty aria-multiline attribute. The value needs to be set to true.

/Cc @ellatrix @youknowriad

@afercia afercia added [Type] Bug An existing feature does not function as intended [Priority] High Used to indicate top priority items that need quick attention [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). [Type] Regression Related to a regression in the latest release labels Jul 18, 2020
@ellatrix
Copy link
Member

Thanks for the report! Seems to have been removed accidentally.

@github-actions github-actions bot added the [Status] In Progress Tracking issues with work in progress label Jul 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). [Priority] High Used to indicate top priority items that need quick attention [Status] In Progress Tracking issues with work in progress [Type] Bug An existing feature does not function as intended [Type] Regression Related to a regression in the latest release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants