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

Fix: FSE editor sidebar item scroll accessibility issue #68165

Open
wants to merge 4 commits into
base: trunk
Choose a base branch
from

Conversation

Kallyan01
Copy link

@Kallyan01 Kallyan01 commented Dec 20, 2024

Closes #67959

What?

Fixes an issue where focused elements in scrollable lists with sticky headers or footers can remain hidden behind those elements when navigating using a keyboard or keyboard-like devices.

Why?

Sticky headers and footers are commonly used in the editor UI to keep certain elements fixed while scrolling. However, this pattern causes accessibility issues where focused elements are obscured. This is particularly problematic when navigating with a keyboard, as it prevents users from seeing the currently focused item.

How?

Site Editor Issue

We resolved the issue by restructuring the DOM elements within the Site Editor to address the accessibility concerns instead of using any dynamic approach like block manager one :

  1. Reorganizing DOM Structure:

    • Moved the Title and Description elements to the top of the scrollable container and made them fixed.
  2. Adjusting Scrollable Area:

    • Restricted the scrollable area to the list section only, leaving the fixed elements unaffected by scrolling.
  3. Default Accessibility Improvement:

    • By limiting the scrollable area to the list, this approach inherently solves the accessibility issue where focused elements were previously hidden behind sticky headers or footers.

Testing Instructions for Keyboard

Site Editor Navigation Panel:

Go to the Site Editor > Patterns.
Ensure the navigation panel has enough patterns to make it scrollable.
Use the Tab key to navigate the patterns in the list.
Scroll down and then use Shift+Tab to navigate backwards.
Confirm that focused elements are no longer hidden behind the sticky header.

Screenshots or screencast

Screen.Recording.2025-01-17.at.10.22.24.PM.mov

- Restructured the dom elements and removed sticky
- Moved description to title component and made it fixed
@github-actions github-actions bot added the First-time Contributor Pull request opened by a first-time contributor to Gutenberg repository label Dec 20, 2024
Copy link

👋 Thanks for your first Pull Request and for helping build the future of Gutenberg and WordPress, @Kallyan01! In case you missed it, we'd love to have you join us in our Slack community.

If you want to learn more about WordPress development in general, check out the Core Handbook full of helpful information.

@Kallyan01 Kallyan01 marked this pull request as ready for review January 17, 2025 18:45
Copy link

github-actions bot commented Jan 17, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: Kallyan01 <[email protected]>
Co-authored-by: t-hamano <[email protected]>
Co-authored-by: afercia <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@fabiankaegy fabiankaegy added [Type] Bug An existing feature does not function as intended [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). [Package] Components /packages/components labels Jan 20, 2025
Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

Thanks for the PR!

I believe the Site Editor issue and the Block Manager issue are completely unrelated in terms of code.

In general, it's recommended to address one issue or feature per PR. Otherwise, it can be hard to predict which code affects which issue/feature.

Can this PR be focused on just one of the issues?

@Kallyan01
Copy link
Author

@t-hamano Thanks for the feedback !
i'll remove the block manager issue changes from this PR then .
Need one advice should i create a seperate issue by myself for the Block Manager or tag the same issue in seperate PR (as the issue contains both Site Editor and Block Manager issue description )

@t-hamano
Copy link
Contributor

Need one advice should i create a seperate issue by myself for the Block Manager or tag the same issue in seperate PR (as the #67959 contains both Site Editor and Block Manager issue description )

I think it's fine to just link the same issue instead of creating a new one.

@Kallyan01 Kallyan01 force-pushed the fix/fse-gutenberg-scrollable-ui-a11y-fix branch from 4443530 to 2246cc2 Compare January 21, 2025 08:19
@Kallyan01
Copy link
Author

@t-hamano Thanks ! did the required changes .

Could you also review this one Block Manager PR #68800 ?

@Kallyan01 Kallyan01 requested a review from t-hamano January 21, 2025 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
First-time Contributor Pull request opened by a first-time contributor to Gutenberg repository [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). [Package] Components /packages/components [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Try scroll-padding for any scrollable UI
3 participants