Skip to content

[A11y] Create a11y page with placeholders.#9889

Merged
auto-submit[bot] merged 6 commits into
flutter:masterfrom
hannah-hyj:a11y_placeholder
Jul 13, 2026
Merged

[A11y] Create a11y page with placeholders.#9889
auto-submit[bot] merged 6 commits into
flutter:masterfrom
hannah-hyj:a11y_placeholder

Conversation

@hannah-hyj

@hannah-hyj hannah-hyj commented Jul 13, 2026

Copy link
Copy Markdown
Member

The screen is gated by the FeatureFlags.accessibility flag.

internal link: go/devtool-a11y-userjourney
issue: #9893

Pre-launch Checklist

General checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read the Flutter Style Guide recently, and have followed its advice.
  • I signed the CLA.
  • I updated/added relevant documentation (doc comments with ///).

Issues checklist

Tests checklist

  • I added new tests to check the change I am making...
  • OR there is a reason for not adding tests, which I explained in the PR description.

AI-tooling checklist

  • I did not use any AI tooling in creating this PR.
  • OR I did use AI tooling, and...
    • I read the AI contributions guidelines and agree to follow them.
    • I reviewed all AI-generated code before opening this PR.
    • I understand and am able to discuss the code in this PR.
    • I have verifed the accuracy of any AI-generated text included in the PR description.
    • I commit to verifying the accuracy of any AI-generated code or text that I upload in response to review comments.

Feature-change checklist

  • This PR does not change the DevTools UI or behavior and...
    • I added the release-notes-not-required label or left a comment requesting the label be added.
  • OR this PR does change the DevTools UI or behavior and...
    • I added an entry to packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md.
    • I included before/after screenshots and/or a GIF demo of the new UI to my PR description.
    • I ran the DevTools app locally to manually verify my changes.

build.yaml badge

If you need help, consider asking for help on Discord.

@hannah-hyj
hannah-hyj requested a review from a team as a code owner July 13, 2026 20:54
@hannah-hyj
hannah-hyj requested review from srawlins and removed request for a team July 13, 2026 20:54

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces a new Accessibility screen to DevTools, guarded by a feature flag, which includes placeholder UI panes for diagnostics, a semantics tree, and overrides, along with its controller and corresponding tests. The review feedback highlights three main areas for improvement: removing an unused controller field in the screen body state to prevent analyzer warnings, updating the screen metadata to correctly require a connection and a Flutter app, and optimizing performance by using MediaQuery.sizeOf(context) instead of MediaQuery.of(context).size.

Comment thread packages/devtools_app/lib/src/shared/framework/screen.dart
@hannah-hyj
hannah-hyj requested a review from kenzieschmoll July 13, 2026 20:56
…e and diagnostics panels

Replace custom outline border color with standard theme focusColor

Replace hardcoded BorderRadius with theme defaultBorderRadius constant

Add placeholder Accessibility screen and controller
Comment thread packages/devtools_app/lib/src/screens/accessibility/accessibility_controller.dart Outdated
Comment thread packages/devtools_app/lib/src/screens/accessibility/accessibility_controller.dart Outdated
Comment thread packages/devtools_app/lib/src/screens/accessibility/accessibility_screen.dart Outdated
Comment thread packages/devtools_app/lib/src/screens/accessibility/accessibility_screen.dart Outdated
Comment thread packages/devtools_app/lib/src/screens/accessibility/accessibility_screen.dart Outdated
'accessibility',
title: 'Accessibility',
icon: Icons.accessibility,
requiresFlutter: true,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

does this page work for flutter web apps or should it be disabled for web?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

web apps also have semantics tree and a11y settings. This page should work.

);

// Diagnostics tab should be active by default and contain placeholder text
expect(find.text('Accessibility Diagnostics'), findsOneWidget);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

once you switch to helper widgets for these views instead of methods that return widgets, you can change the tests to find by type instead of text, and that will make the tests more robust in case any of these strings change.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

updated! thanks!

@hannah-hyj
hannah-hyj requested a review from kenzieschmoll July 13, 2026 22:03

@srawlins srawlins 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.

Great skeleton!

@hannah-hyj hannah-hyj added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 13, 2026
@auto-submit
auto-submit Bot merged commit 21f1838 into flutter:master Jul 13, 2026
92 of 95 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App release-notes-not-required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants