Skip to content

[SR][Hub Hero][A11Y] Treat xs screen w/zoom as reduced motion#6177

Open
denlight wants to merge 11 commits into
stagefrom
sr-hub-hero-a11y-fix
Open

[SR][Hub Hero][A11Y] Treat xs screen w/zoom as reduced motion#6177
denlight wants to merge 11 commits into
stagefrom
sr-hub-hero-a11y-fix

Conversation

@denlight

@denlight denlight commented Jun 16, 2026

Copy link
Copy Markdown
Contributor
  • xs w/zoom screen treated as reduced motion
  • adjusted aria attributes

Resolves: MWPW-198654 | MWPW-198655 | MWPW-198651

Test URLs:

@aem-code-sync

aem-code-sync Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Hello, I'm the AEM Code Sync Bot and I will run some actions to deploy your branch.
In case there are problems, just click the checkbox below to rerun the respective action.

  • Re-sync branch
Commits

Comment thread libs/mep/ace1205/hub-hero/hub-hero.css Outdated
.hub-hero-carousel-header > div,
.hub-hero-carousel-header > div > *,
.hub-hero-carousel-item {
animation: none !important;

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.

Absolutely needed? Anyway around using !important?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixed

@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 17, 2026 05:49 Inactive
@denlight denlight requested a review from rgclayton June 17, 2026 05:49
@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 17, 2026 06:01 Inactive
Comment thread libs/mep/ace1205/hub-hero/hub-hero.css Outdated
}

/** extra small screens (320px = 640px at 200% zoom) — same static fallback as reduced-motion */
@media (width <= 480px) {

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.

If this is exactly the same as reduced motion, we should be able to combine it with
@media (prefers-reduced-motion: reduce) or (width <= 480px)
to avoid duplication.

@zagi25

zagi25 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

When using Tab for navigation on tablet/mobile viewport, slides are not visually changed but VoiceOver announces the change.

Screen.Recording.2026-06-17.at.11.38.57.mov

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

Approving, since it addresses critical Accessibility issues. However, I think the comments I've added deserve a follow-up story, to make this easier to maintain and reduce code footprint.

Comment on lines +867 to +873
.hub-hero-header,
.hub-hero-header > *,
.hub-hero-carousel,
.hub-hero-carousel-header,
.hub-hero-carousel-container,
.hub-hero-carousel-item,
.hub-hero-carousel-item-container {

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.

How about

Suggested change
.hub-hero-header,
.hub-hero-header > *,
.hub-hero-carousel,
.hub-hero-carousel-header,
.hub-hero-carousel-container,
.hub-hero-carousel-item,
.hub-hero-carousel-item-container {
[class*="hub-hero-"],
[class*="hub-hero-"] * {

or something similar to streamline things for any future updates

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I had it like that at first, but that would require to have an "!important" statement on "animation: none". So i had to convert it to specific ones

Comment on lines 886 to 900
.hub-hero-image-grid-container-col:nth-child(1),
.hub-hero-image-grid-container-col:nth-child(2),
.hub-hero-image-grid-container-col:nth-child(3),
.hub-hero-image-grid-container-col:nth-child(4),
.hub-hero-image-grid-container-col:nth-child(5),
.hub-hero-image-grid-container-col:nth-child(5),
.hub-hero-carousel,
.hub-hero-carousel-header,
.hub-hero-carousel-header>div,
.hub-hero-carousel-header>div>*,
.hub-hero-carousel-item {
animation: none !important;
.hub-hero-carousel-item:nth-child(1),
.hub-hero-carousel-item:nth-child(2),
.hub-hero-carousel-item:nth-child(3),
.hub-hero-carousel-item:nth-child(4),
.hub-hero-carousel-item:nth-child(5) {
animation: none;
transition: none;
position: relative;
--hub-hero-height: auto;
}

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.

This looks quite similar to the above suggestion of

  [class*="hub-hero-"],
  [class*="hub-hero-"] *, {

The declarations are identical, so might as well use a more general rule. If specificity needs to be increased, it could be prefixed with a .hub-hero selector.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

same as above

Comment on lines +902 to +914
.hub-hero-image-grid-container-col div:nth-child(2) {
animation: none;
}

.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-header,
.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-footer {
animation: none;
}

.hub-hero-image-grid-container-col:nth-child(3) div:nth-child(1),
.hub-hero-image-grid-container-col:nth-child(3) div:nth-child(2) {
animation: none;
}

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.

Similar for these, an umbrella selector would be easier to follow and maintain.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

same as above

Comment thread libs/mep/ace1205/hub-hero/hub-hero.css Outdated
Comment on lines +1044 to +1092
.hub-hero,
.hub-hero-header,
.hub-hero-header > *,
.hub-hero-carousel,
.hub-hero-carousel-header,
.hub-hero-carousel-container,
.hub-hero-carousel-item,
.hub-hero-carousel-item-container {
animation: none;
transition: none;
position: relative;
--hub-hero-height: auto;
}

.hub-hero-carousel-header > div,
.hub-hero-carousel-header > div > * {
animation: none;
position: relative;
}

.hub-hero-image-grid-container-col:nth-child(1),
.hub-hero-image-grid-container-col:nth-child(2),
.hub-hero-image-grid-container-col:nth-child(3),
.hub-hero-image-grid-container-col:nth-child(4),
.hub-hero-image-grid-container-col:nth-child(5),
.hub-hero-carousel-item:nth-child(1),
.hub-hero-carousel-item:nth-child(2),
.hub-hero-carousel-item:nth-child(3),
.hub-hero-carousel-item:nth-child(4),
.hub-hero-carousel-item:nth-child(5) {
animation: none;
transition: none;
position: relative;
--hub-hero-height: auto;
}

.hub-hero-image-grid-container-col div:nth-child(2) {
animation: none;
}

.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-header,
.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-footer {
animation: none;
}

.hub-hero-image-grid-container-col:nth-child(3) div:nth-child(1),
.hub-hero-image-grid-container-col:nth-child(3) div:nth-child(2) {
animation: none;
}

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.

The more general selector would reduce the code footprint here as well.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

avoiding !important as well

Comment on lines 1613 to +1666
@@ -1452,8 +1648,22 @@
.hub-hero {
height: auto;
}
.hub-hero-carousel-item {
animation: none !important;
.hub-hero-carousel-item,
.hub-hero-carousel-item-container {
animation: none;
}

.hub-hero-carousel-item:nth-child(1),
.hub-hero-carousel-item:nth-child(2),
.hub-hero-carousel-item:nth-child(3),
.hub-hero-carousel-item:nth-child(4),
.hub-hero-carousel-item:nth-child(5) {
animation: none;
}

.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-header,
.hub-hero-carousel-item:nth-child(1) .hub-hero-carousel-item-footer {
animation: none;

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.

Similar comment once more, it's likely these can be summarized to a more general selector, it'd save a few dozen lines of code and would make maintenance easier.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

avoiding !Important

@zagi25

zagi25 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Also on the proposed zoom, first card is larger then the rest
Screenshot 2026-06-17 at 11 49 51
Screenshot 2026-06-17 at 11 49 56

@overmyheadandbody , should this and my previous comment for 'Tab' also be a part of the follow up ticket or should they be addressed now ?

@overmyheadandbody

Copy link
Copy Markdown
Contributor

@zagi25 - good catch! Since this does solve some a11y issues and we're under a bit of time crunch, I'd vote we flag as a different issue and get back with a fix ASAP.

@denlight denlight force-pushed the sr-hub-hero-a11y-fix branch from 770b148 to 0ceaf04 Compare June 17, 2026 13:05
@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 17, 2026 13:05 Inactive

@robert-bogos robert-bogos 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.

Approving for a11y, but I see a few issues on firefox desktop:

  • there's a jamming happening to the scroll when you reach the .hub-hero-carousel
Image
  • and a missing side padding issue for the logos
Image

and on mobile firefox:

  • logos moving on scroll is not working
Image
  • there is this big white space in the middle of the grid. Maybe one card should've been there?
Image

P.S. tested on stage with ?milolibs=sr-hub-hero-a11y-fix

@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 17, 2026 14:00 Inactive
@biljana-cvijanovic

Copy link
Copy Markdown
Contributor

@denlight The comment in this ticket MWPW-198651 should be addressed before the PR is merged

@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 17, 2026 17:58 Inactive
@github-actions

Copy link
Copy Markdown
Contributor

Reminder to set the Ready for Stage label - to queue this to get merged to stage & production.

@nishantka

Copy link
Copy Markdown
Contributor

@denlight Please check below PRs to 'sr-hub-hero-a11y-fix' for the issues reported by @biljana-cvijanovic

#6197
#6198

@aem-code-sync aem-code-sync Bot temporarily deployed to sr-hub-hero-a11y-fix June 19, 2026 08:54 Inactive

@biljana-cvijanovic biljana-cvijanovic 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.

Validated. The PR is now ready to be merged.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request is not passing all required checks. Please see this discussion for information on how to get all checks passing. Inconsistent checks can be manually retried. If a test absolutely can not pass for a good reason, please add a comment with an explanation to the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants