Skip to content

A11y fix from agent in main - #857

Open
ludmilaFialova wants to merge 31 commits into
mainfrom
A11y_fix_from_agent_in_main
Open

ludmilaFialova wants to merge 31 commits into
mainfrom
A11y_fix_from_agent_in_main

Conversation

@ludmilaFialova

@ludmilaFialova ludmilaFialova commented May 26, 2026 •

Copy link
Copy Markdown
Contributor

Frontend Pull Request Description

https://swicloud.atlassian.net/browse/OO-62923
Using an agent to fix all accessibility issues in the Nova repository.
Plus, added some Percy test fixes.

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have updated change log
  • I have been following Definition of done
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new lint warnings
  • New and existing unit tests pass locally and on CI with my changes
  • Any dependent changes have been merged and published in downstream modules

Screenshots (if applicable)

Additional Context (if necessary)

@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch 3 times, most recently from 577a1b2 to 9e22c8e Compare May 27, 2026 10:20

&-remove {
cursor: pointer;
display: inline-flex;

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.

no regression? or it is bug fix?

@ludmilaFialova ludmilaFialova May 27, 2026 •

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.

This was to fix the position of the icon after inserting it into <span> in chip.component.html

pavlo-poimanov
pavlo-poimanov previously approved these changes May 27, 2026

@pavlo-poimanov pavlo-poimanov 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.

I like it

@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch 4 times, most recently from 8cde0eb to 276bdad Compare May 29, 2026 07:08
@ludmilaFialova
ludmilaFialova marked this pull request as draft June 4, 2026 17:21
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch 10 times, most recently from 6138d55 to 90d1f7e Compare June 12, 2026 12:46
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from 90d1f7e to 7a61333 Compare June 15, 2026 09:51
@ludmilaFialova
ludmilaFialova marked this pull request as ready for review June 15, 2026 09:55
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from 7a61333 to 35ca2bb Compare June 15, 2026 11:36
@ludmilaFialova
ludmilaFialova requested a review from erzik987 June 19, 2026 10:05
pavlo-poimanov
pavlo-poimanov previously approved these changes Jul 22, 2026
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from c70b4d6 to bb3f43c Compare September 21, 2026 20:55
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from 7f77aa1 to af02690 Compare September 22, 2026 16:57
The host element declared role=progressbar with the same aria-value* and label attributes already present on .nui-progress__container, producing nested progressbar nodes. Because progressbar has children-presentational semantics, the host-level role also removed the cancel button, message and hint from the accessibility tree.

Also drop the duplicated [id]=helpId from the default help template; the id stays on the .nui-progress__hint wrapper, which is always rendered and is the correct aria-describedby target for both default and custom help templates.
The body wrapper was always a region landmark labelled by the header. On the demo page alone that produced 10 landmarks, 7 of which shared a name with another, including a region nested inside a region. W3C APG lists the role as optional and warns against landmark proliferation, but a standalone expander cannot know how many siblings a page has.

The new useRegionLandmark input keeps the capability for pages with few panels while defaulting to off. aria-controls and aria-expanded still tie the header to the body.
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from cc5c37e to 6b56b1d Compare September 29, 2026 14:24
@ludmilaFialova
ludmilaFialova force-pushed the A11y_fix_from_agent_in_main branch from 6b56b1d to 07592bf Compare September 29, 2026 15:12
removeItem clicked the n-th remove icon and returned immediately, so a following index-based call could target the stale list. The Chips visual test (removeItem(2) then removeItem(3)) therefore nondeterministically removed Unknown instead of Ok, causing a Percy diff against main. removeItem now waits until the chip count drops by one.
CI runs UI tests without PERCY_TOKEN, so snapshots are plain Playwright screenshots taken by EyesLens and uploaded with percy upload; Percy does not re-render the page. Camera.cheese() now forces all declared web fonts to load, awaits document.fonts.ready and two animation frames before each snapshot, preventing invisible or shifted text and misplaced overlays/tooltips. EyesLens takes screenshots with animations: disabled and caret: hide, so infinite CSS animations (nui-spinner, indeterminate nui-progress) are captured in a stable state.

Because snapshots no longer capture animations, new e2e checks verify that nui-spinner runs the rotate and dash animations and the indeterminate nui-progress bar runs indeterminate-progress.

Documented the CI snapshot flow in docs/E2E/VISUAL.md and corrected outdated notes (lens selection, disableCSSAnimations limitation).
Fix new lint warnings (import order in selector, inject() in OverlayComponent, standalone test host in tab-group spec), type dialog Tab handlers as KeyboardEvent, remove unused imports and a fixed timeout from the dialog focus-trap e2e test, and restore the playwright-test-healer agent frontmatter from main.

Add unit tests for overlay focus trapping and focus restore, textbox-number ARIA semantics and KPI tile keyboard activation. Add demo examples documenting the new overlay (trapFocus, ARIA inputs) and dialog (ariaLabel, ariaLabelledby, ariaDescribedby) options and summarize the accessibility changes in CHANGELOG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants