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

zwave-js / zwave-js-ui / 21024658288
20%

Build:
DEFAULT BRANCH: master
Ran 15 Jan 2026 08:29AM UTC
Jobs 1
Files 69
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

15 Jan 2026 08:28AM UTC coverage: 19.521%. Remained the same
21024658288

push

github

web-flow
feat(a11y): comprehensive accessibility improvements for screen readers and keyboard users (#4518)

Icon-only buttons announce "button" to screen readers without context
because Vuetify 3 adds `aria-hidden="true"` to all icons. This makes the
UI inaccessible to visually impaired users. After reviewing the A11y
Project checklist, additional keyboard accessibility improvements were
implemented.

## Changes

### Icon Button Labels

Added `aria-label` attributes to all icon-only buttons:

- **BaseFab component** - Dynamic labels for FAB ("Open menu"/"Close
menu") and speed dial buttons (using existing tooltip text)
- **Dialog close buttons** - "Close dialog" across DialogAdvanced,
DialogHealthCheckInfo, DialogNodesManager
- **Navigation buttons** - "Go back", "Go to home" in ErrorPage
- **Interactive controls** - "Clear file input", "More options", "Check
for updates"
- **Group toggles** - Dynamic "Expand group"/"Collapse group" labels

### Skip Link

Added "Skip to main content" link for keyboard accessibility:
- Allows keyboard users to bypass navigation and jump directly to main
content
- Visible only when focused with Tab key
- Hidden by default (position: absolute with top: -40px)

### Focus Visibility

Fixed focus indicators in code editors:
- Replaced `outline: none` with visible custom focus indicators in
DialogGatewayValue and Store views
- Blue outline (2px solid #1976d2) with 2px offset for better visibility
- Ensures keyboard users can see which element has focus

## Example

```vue
<!-- Before: screen reader announces "button" -->
<v-btn icon="close" @click="$emit('close')" />

<!-- After: screen reader announces "Close dialog button" -->
<v-btn icon="close" aria-label="Close dialog" @click="$emit('close')" />
```

For dynamic states:
```vue
<v-fab
  icon
  :aria-label="_value ? 'Close menu' : 'Open menu'"
  @click="toggle()"
/>
```

## WCAG Compliance

- ✅ **1.1.1** Non-text Content (Level A) - Icon buttons have text
alternatives
- ✅ **2.4.1... (continued)

334 of 443 branches covered (75.4%)

Branch coverage included in aggregate %.

4052 of 22025 relevant lines covered (18.4%)

1.14 hits per line

Jobs
ID Job ID Ran Files Coverage
1 21024658288.1 15 Jan 2026 08:29AM UTC 69
19.52
GitHub Action Run
Source Files on build 21024658288
  • Tree
  • List 69
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • eeba5983 on github
  • Prev Build on master (#21001136547)
  • Next Build on master (#21032536993)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc