Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ testem.log
cypress/downloads/*
cypress/videos/*
cypress/screenshots/*
.pa11y-temp.json

# System files
.DS_Store
Expand Down
145 changes: 145 additions & 0 deletions .pa11yci
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
{
"defaults": {
"standard": "WCAG2AA",
"timeout": 30000,
"wait": 1000,
"runners": ["axe"],
"hideElements": ".cps-loader",
"reporter": "cli",
"level": "error"
},
"urls": [
{
"url": "http://localhost:4200/autocomplete",
"label": "Autocomplete Component"
},
{
"url": "http://localhost:4200/button",
"label": "Button Component"
},
{
"url": "http://localhost:4200/button-toggle",
"label": "Button Toggle Component"
},
{
"url": "http://localhost:4200/checkbox",
"label": "Checkbox Component"
},
{
"url": "http://localhost:4200/chip",
"label": "Chip Component"
},
{
"url": "http://localhost:4200/datepicker",
"label": "Datepicker Component"
},
{
"url": "http://localhost:4200/dialog",
"label": "Dialog Component"
},
{
"url": "http://localhost:4200/divider",
"label": "Divider Component"
},
{
"url": "http://localhost:4200/expansion-panel",
"label": "Expansion Panel Component"
},
{
"url": "http://localhost:4200/file-upload",
"label": "File Upload Component"
},
{
"url": "http://localhost:4200/icon",
"label": "Icon Component"
},
{
"url": "http://localhost:4200/info-circle",
"label": "Info Circle Component"
},
{
"url": "http://localhost:4200/input",
"label": "Input Component"
},
{
"url": "http://localhost:4200/loader",
"label": "Loader Component"
},
{
"url": "http://localhost:4200/menu",
"label": "Menu Component"
},
{
"url": "http://localhost:4200/notification",
"label": "Notifications Component"
},
{
"url": "http://localhost:4200/paginator",
"label": "Paginator Component"
},
{
"url": "http://localhost:4200/progress-circular",
"label": "Progress Circular Component"
},
{
"url": "http://localhost:4200/progress-linear",
"label": "Progress Linear Component"
},
{
"url": "http://localhost:4200/radio-group",
"label": "Radio Component"
},
{
"url": "http://localhost:4200/scheduler",
"label": "Scheduler Component"
},
{
"url": "http://localhost:4200/select",
"label": "Select Component"
},
{
"url": "http://localhost:4200/sidebar-menu",
"label": "Sidebar Menu Component"
},
{
"url": "http://localhost:4200/switch",
"label": "Switch Component"
},
{
"url": "http://localhost:4200/table",
"label": "Table Component"
},
{
"url": "http://localhost:4200/tab-group",
"label": "Tabs Component"
},
{
"url": "http://localhost:4200/tag",
"label": "Tag Component"
},
{
"url": "http://localhost:4200/textarea",
"label": "Textarea Component"
},
{
"url": "http://localhost:4200/timepicker",
"label": "Timepicker Component"
},
{
"url": "http://localhost:4200/tooltip",
"label": "Tooltip Directive"
},
{
"url": "http://localhost:4200/tree-autocomplete",
"label": "Tree Autocomplete Component"
},
{
"url": "http://localhost:4200/tree-select",
"label": "Tree Select Component"
},
{
"url": "http://localhost:4200/tree-table",
"label": "Tree Table Component"
}
]
}
35 changes: 35 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,38 @@ Execute `npm run generate-json-api` to generate documentation for any changes in
#### Run Cypress e2e tests

`npm run cypress:run` (headless run) or you can open Cypress tests using `npm run cypress:open`

#### Run accessibility tests

The project uses [pa11y-ci](https://github.com/pa11y/pa11y-ci) to test all components for WCAG 2.0 AA compliance.

To run accessibility tests:

1. Start the development server:
```bash
npm run start
```

2. In a separate terminal, run the accessibility tests:
```bash
npm run test:a11y
```

Alternatively, use the combined script that starts the server and runs tests:
```bash
npm run test:a11y:local
```

For a colorful summary with statistics:
```bash
npm run test:a11y:summary
```

This will display:
- Total URLs tested with pass/fail ratio
- Total accessibility errors found
- Accessibility standard (WCAG 2.0 AA)
- Test engine (axe-core via pa11y-ci)
- Top 10 components with the most issues

The tests will check all 33 components for accessibility issues and report any violations found.
Loading
Loading