Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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