Skip to content

Conversation

hannah-hyj
Copy link
Member

@hannah-hyj hannah-hyj commented Oct 3, 2025

This PR did

  1. Split Accessibility and Internationalization into two tabs
  2. Update Accessibility docs to 5 parts
    • title: Introduction
    • title: UI Design & Styling
    • title: Assistive technologies
    • title: Accessibility testing
    • title: Web accessibility
  3. keep old content and add some new content
    • title: Introduction
      added standards and regulation
    • title: UI Design & Styling
      added pictures and touch target size.
    • title: Assistive technologies
      added mobility.
    • title: Accessibility testing
      added nothing.
    • title: Web accessibility
      added how to opt-in using button or code

Presubmit checklist

  • If you are unwilling, or unable, to sign the CLA, even for a tiny, one-word PR, please file an issue instead of a PR.
  • If this PR is not meant to land until a future stable release, mark it as draft with an explanation.
  • This PR follows the Google Developer Documentation Style Guidelines—for example, it doesn't use i.e. or e.g., and it avoids I and we (first-person pronouns).
  • This PR uses semantic line breaks
    of 80 characters or fewer.

@hannah-hyj hannah-hyj closed this Oct 3, 2025
@hannah-hyj hannah-hyj changed the title [Draft] Update Accessibility docs Update Accessibility docs Oct 4, 2025
@hannah-hyj hannah-hyj reopened this Oct 4, 2025
@hannah-hyj hannah-hyj marked this pull request as ready for review October 4, 2025 00:08
@hannah-hyj hannah-hyj requested review from a team and sfshaza2 as code owners October 4, 2025 00:08
@flutter-website-bot
Copy link
Collaborator

flutter-website-bot commented Oct 4, 2025

Visit the preview URL for this PR (updated for commit 69b87bd):

https://flutter-docs-prod--pr12513-refresh-a11y-2dmrp4ce.web.app

@hannah-hyj hannah-hyj requested a review from chunhtai October 4, 2025 00:16
Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

Fixing the broken link.

Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

@hannah-hyj, this is a FABULOUS update to the accessibility docs! I have some minor edits, to make the text more consistent and so forth (and I previously fixed a broken link), but this is SUPER appreciated!

@sfshaza2
Copy link
Contributor

sfshaza2 commented Oct 8, 2025

OK, I should have anticipated this. All sorts of internal links are breaking because of the new structure of the accessibility docs. I'm done for the day, but I can tackle this tomorrow. For one thing, we should set up redirects in the firebase.json file, so folks that link INTO our docs will end up at least roughly in the right place.


* For web:
1. Open Chrome DevTools (or similar tools in other browsers)
2. Inspect the HTML tree containing the ARIA attributes generated by
Copy link
Contributor

Choose a reason for hiding this comment

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

html tree under semantics host

Copy link
Member Author

Choose a reason for hiding this comment

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

do you mean update the wording here to "html tree under semantics host"?

Copy link
Contributor

Choose a reason for hiding this comment

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

right, because there are multiple div sub tree for other reason, but the only interesting one for semantics is the flt-semantics-host

Image


<br/>

Check out the following [video demo][] to see Victor Tsaran,
Copy link
Contributor

Choose a reason for hiding this comment

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

Feels a bit weird to call out a person's name like this, we should makes thing a bit anonymous

Copy link
Contributor

Choose a reason for hiding this comment

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

Good point, @chunhtai.

Copy link
Member Author

Choose a reason for hiding this comment

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

updated, thanks!

When there is text in your app that should be voiced
with a specific voice, inform the screen reader
which voice to use by calling [`TextSpan.locale`][].
Note that `MaterialApp.locale` and `Localizations.override`
Copy link
Contributor

Choose a reason for hiding this comment

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

They will affect the talkback locale in the next release

Copy link
Contributor

Choose a reason for hiding this comment

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

same thing for Semantics(localeForSubtree)

Copy link
Member Author

Choose a reason for hiding this comment

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

updated to "MaterialApp.locale and Localizations.override
will affect screen reader voices starting from flutter 3.38 release." is it correct?

Understanding these tools helps in creating
apps that are usable by people with diverse physical abilities.

<table class="table table-striped">
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we use html instead of markdown?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure, but I don't feel strongly enough about it to hold up this PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

markdown table has no border and i think html table looks better

description: Information on Flutter's accessibility testing.
---

## Inspecting accessibility support
Copy link
Contributor

Choose a reason for hiding this comment

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

Somewhere in this page should also mention checking against the public standard like WCAG and VPAT or EAA, ideally links to a self assessment template

Copy link
Member Author

Choose a reason for hiding this comment

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

added, thanks!


Both Android and iOS contain system settings to configure the desired font
sizes used by apps. Flutter text widgets respect this OS setting when
determining font sizes.
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe a quick guide on how to adjust them in each devices

Copy link
Member Author

Choose a reason for hiding this comment

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

added


[W3C recommends]: https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html

## Tap target size
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

added

Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

OK, I think I fixed the broken anchor and (I hope) the build will pass now.

@hannah-hyj, I will let you address @chunhtai's comments. But I think we are getting close!

@hannah-hyj hannah-hyj requested a review from chunhtai October 9, 2025 17:08
Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

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

LGTM, it is well written! I don't have other comment besides these.


* For web:
1. Open Chrome DevTools (or similar tools in other browsers)
2. Inspect the HTML tree containing the ARIA attributes generated by
Copy link
Contributor

Choose a reason for hiding this comment

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

right, because there are multiple div sub tree for other reason, but the only interesting one for semantics is the flt-semantics-host

Image

</div>


## Sufficient contrast
Copy link
Contributor

Choose a reason for hiding this comment

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

should also mention we have guideline test

[W3C recommends]: https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html

## Tap target size

Copy link
Contributor

Choose a reason for hiding this comment

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

also here mention we have guideline, or link to the accessibility-testing.md

@hannah-hyj hannah-hyj merged commit 0127ae9 into flutter:main Oct 9, 2025
9 checks passed
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.

4 participants