Skip to content

Conversation

@hanna-skryl
Copy link
Collaborator

@hanna-skryl hanna-skryl commented Dec 5, 2025

This PR completes a prerequisite for Axe accessibility category aggregation by ensuring that Axe plugin group slugs are type-safe.

  • Reorganize Axe plugin groups from WCAG-level (wcag21-level-a, wcag21-level-aa) to category-based (aria, forms, color, etc.) for all presets. The motivation is that every single Axe rule has a category tag, while only some have corresponding WCAG tags. As a result, grouping by WCAG tags can potentially lead to orphaned audits in Code PushUp reports, whereas grouping by category tags provides more consistency within and across presets.
  • Add Zod schemas for type-safe group slugs with integration tests to catch drift from axe-core API
  • Consistent grouping across all presets (wcag21aa, wcag22aa, best-practice, all)
Portal demo

Additionally, wrapTags is applied to Axe audit titles and descriptions, so HTML elements like <ul>, <li> display correctly in the portal after parsing markdown from JSON reports.

Breaking change: Plugin groups changed from WCAG levels to accessibility categories.

@hanna-skryl hanna-skryl self-assigned this Dec 5, 2025
@github-actions github-actions bot added 📖 Project documentation improvements or additions to the project documentation 🔬 testing writing tests 🛠️ tooling labels Dec 5, 2025
@nx-cloud
Copy link

nx-cloud bot commented Dec 5, 2025

View your CI Pipeline Execution ↗ for commit d596a9f

Command Status Duration Result
nx run-many -t unit-test,int-test ✅ Succeeded 1m 49s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-05 20:16:59 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 5, 2025

Open in StackBlitz

@code-pushup/ci

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/ci@1170

@code-pushup/cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1170

@code-pushup/core

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/core@1170

@code-pushup/create-cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/create-cli@1170

@code-pushup/models

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1170

@code-pushup/nx-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/nx-plugin@1170

@code-pushup/axe-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/axe-plugin@1170

@code-pushup/coverage-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/coverage-plugin@1170

@code-pushup/eslint-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/eslint-plugin@1170

@code-pushup/js-packages-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/js-packages-plugin@1170

@code-pushup/jsdocs-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/jsdocs-plugin@1170

@code-pushup/lighthouse-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/lighthouse-plugin@1170

@code-pushup/typescript-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/typescript-plugin@1170

@code-pushup/utils

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1170

commit: d596a9f

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 6f721cc with previous commit f74d2dd.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Categories

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Performance 🔴 44 🔴 46 ↑ +2.3
Code coverage 🟡 89 🟡 89 ↓ −0.1
Documentation 🔴 35 🔴 35 ↓ −0.1
Bug prevention 🟡 67 🟡 67
Code style 🟢 100 🟢 100
Security 🔴 43 🔴 43
Updates 🟡 71 🟡 71
Type Safety 🟡 56 🟡 56
Miscellaneous 🟡 67 🟡 67
Accessibility 🟢 92 🟢 92
Best Practices 🟢 100 🟢 100
SEO 🟢 92 🟢 92
👍 1 group improved, 👎 2 groups regressed, 👍 7 audits improved, 👎 5 audits regressed, 11 audits changed without impacting score

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
Lighthouse Performance 🔴 44 🔴 46 ↑ +2.3
Code coverage Code coverage metrics 🟡 89 🟡 89 ↓ −0.1
JSDoc coverage Documentation coverage 🔴 35 🔴 35 ↓ −0.1

18 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Lighthouse Initial server response time was short 🟥 Root document took 790 ms 🟩 Root document took 430 ms ↓ −45.9 %
Lighthouse Speed Index 🟥 6.7 s 🟥 5.9 s ↓ −12.2 %
Lighthouse First Contentful Paint 🟥 3.2 s 🟥 3.1 s ↓ −5.3 %
Lighthouse Time to Interactive 🟥 13.0 s 🟥 12.4 s ↓ −5 %
Lighthouse Total Blocking Time 🟥 800 ms 🟥 780 ms ↓ −2.4 %
Lighthouse Max Potential First Input Delay 🟥 840 ms 🟥 780 ms ↓ −7.2 %
Code coverage Branch coverage 🟨 87.3 % 🟨 87.1 % ↓ −0.2 %
JSDoc coverage Types coverage 🟥 241 undocumented types 🟥 245 undocumented types ↑ +1.7 %
JSDoc coverage Variables coverage 🟥 246 undocumented variables 🟥 251 undocumented variables ↑ +2 %
JSDoc coverage Functions coverage 🟥 561 undocumented functions 🟥 560 undocumented functions ↓ −0.2 %
Code coverage Line coverage 🟨 84.7 % 🟨 84.7 % ↓ −0.1 %
Code coverage Function coverage 🟩 90.3 % 🟩 90.3 % ↓ −0.1 %
Lighthouse Avoids enormous network payloads 🟩 Total size was 2,032 KiB 🟩 Total size was 2,028 KiB ↓ −0.2 %
Lighthouse Metrics 🟩 100% 🟩 100% ↓ −5 %
Lighthouse Largest Contentful Paint 🟥 11.6 s 🟥 11.1 s ↓ −3.8 %
Lighthouse Reduce unused CSS 🟥 Potential savings of 105 KiB 🟥 Potential savings of 105 KiB ↓ −55.2 %
Lighthouse Server Backend Latencies 🟩 1,760 ms 🟩 1,420 ms ↓ −19.4 %
Lighthouse Minimizes main-thread work 🟥 7.5 s 🟥 7.2 s ↓ −4 %
Lighthouse Uses efficient cache policy on static assets 🟨 32 resources found 🟨 32 resources found ↓ −0.1 %
Lighthouse Reduce unused JavaScript 🟥 Potential savings of 186 KiB 🟥 Potential savings of 186 KiB ↑ +9.6 %
Lighthouse Remove duplicate modules in JavaScript bundles 🟥 Potential savings of 104 KiB 🟥 Potential savings of 103 KiB ↓ −10 %
Lighthouse JavaScript execution time 🟥 2.9 s 🟥 3.0 s ↑ +1.3 %
Lighthouse Network Round Trip Times 🟩 50 ms 🟩 20 ms ↓ −63.4 %

655 other audits are unchanged.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 6f721cc with previous commit f74d2dd.

💼 Project plugin-axe

🤨 Code PushUp report has both improvements and regressions.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage 🟢 95 🟢 92 ↓ −2.6
Documentation 🟡 68 🟡 69 ↑ +0.3

4 other categories are unchanged.

👍 1 group improved, 👎 1 group regressed, 👍 1 audit improved, 👎 2 audits regressed, 2 audits changed without impacting score

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage Code coverage metrics 🟢 95 🟢 92 ↓ −2.6
JSDoc coverage Documentation coverage 🟡 68 🟡 69 ↑ +0.3

13 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Code coverage Branch coverage 🟩 93.6 % 🟨 85.1 % ↓ −9.1 %
JSDoc coverage Functions coverage 🟥 14 undocumented functions 🟥 13 undocumented functions ↓ −7.1 %
Code coverage Line coverage 🟨 67.7 % 🟨 67.2 % ↓ −0.7 %
JSDoc coverage Variables coverage 🟥 11 undocumented variables 🟥 16 undocumented variables ↑ +45.5 %
JSDoc coverage Types coverage 🟥 2 undocumented types 🟥 6 undocumented types ↑ +200 %

437 other audits are unchanged.


13 other projects are unchanged.

@hanna-skryl hanna-skryl marked this pull request as ready for review December 5, 2025 19:13
Copy link
Collaborator

@BioPhoton BioPhoton left a comment

Choose a reason for hiding this comment

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

Nice grouping!

Copy link
Collaborator

@matejchalk matejchalk left a comment

Choose a reason for hiding this comment

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

Very well described, makes sense to me 👍

@hanna-skryl hanna-skryl merged commit 9ac95d6 into main Dec 8, 2025
27 of 28 checks passed
@hanna-skryl hanna-skryl deleted the axe-category-groups branch December 8, 2025 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🧩 axe-plugin 📖 Project documentation improvements or additions to the project documentation 🔬 testing writing tests 🛠️ tooling 🧩 utils

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants