• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

coreui / coreui-pro / 35585062326
94%
main: 94%

Build:
Build:
LAST BUILD BRANCH: fix/time-picker-single-change-v6
DEFAULT BRANCH: main
Ran 21 Sep 2026 09:47AM UTC
Jobs 1
Files 76
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Sep 2026 09:45AM UTC coverage: 94.361% (+0.01%) from 94.35%
35585062326

push

github

web-flow
fix(Stepper,RangeSlider): correct two ARIA structures (#1376)

* fix(Stepper): stop claiming the tab pattern when the steps own their panes

The buttons were marked `role="tab"` and their `.stepper-step` wrappers
`role="presentation"`, but nothing was ever marked `role="tablist"`, so every
step button failed axe `aria-required-parent`. Adding the role alone is not the
fix: a stepper whose steps hold their own `.stepper-step-content` would then
have a tablist owning the open step's form controls, which axe reports as
`aria-required-children` on `input, button`.

The markup decides which pattern the component writes. With the panes outside
the list it is a tab set: `role="tablist"` on `.stepper-steps`,
`aria-orientation` read from `.stepper-vertical`, and the tab roles as before.
With the panes inside it is a list of expandable steps: no tablist, no
`role="tab"`, no `role="presentation"`, and the buttons carry `aria-expanded`
instead of `aria-selected`, which is not allowed on a plain button.

Measured in the Chrome accessibility tree on both shapes. Before, the steps
that own their panes produced a list with zero items, because the wrapper was
presentational while nothing collected the tabs. After: a list of two list
items with expandable buttons, and a tablist of two tabs with a tabpanel.

The layout test is the markup rather than the `.stepper-vertical` class,
because a page can put content inside the steps without that class and the
suite's own fixture does.

* fix(RangeSlider): apply ariaLabels to a single-handle slider

`aria-label` was written only when the slider had more than one handle, so the
whole option was skipped for one handle: `ariaLabels: ['Volume']` measured
`null` on the input. That is the case where a page most often has a name for
the control and no other way to attach it: the input is generated, it carries
no `id`, and nothing points `aria-labelledby` at it, so a `.form-label` next to
the slider names nothing.

The label is now wr... (continued)

5806 of 6420 branches covered (90.44%)

Branch coverage included in aggregate %.

20 of 20 new or added lines in 2 files covered. (100.0%)

10994 of 11384 relevant lines covered (96.57%)

540.16 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35585062326.1 21 Sep 2026 09:47AM UTC 76
94.36
GitHub Action Run
Source Files on build 35585062326
  • Tree
  • List 76
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35585062326
  • defb9f36 on github
  • Prev Build on v6-dev (#35437251675)
  • Next Build on v6-dev (#35587196909)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc