├── .eslintrc.js
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── cypress.json
├── demo-nuxt
├── .gitignore
├── README.md
├── assets
│ ├── README.md
│ └── logo.png
├── components
│ ├── Logo.vue
│ └── README.md
├── layouts
│ ├── README.md
│ └── default.vue
├── middleware
│ └── README.md
├── nuxt.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── About.vue
│ ├── Contact.vue
│ ├── README.md
│ ├── Test.vue
│ └── index.vue
├── plugins
│ ├── README.md
│ └── vue-axe.js
├── static
│ ├── README.md
│ └── favicon.ico
├── store
│ └── README.md
└── vue-axe.js
├── demo
├── .browserslistrc
├── .gitignore
├── README.md
├── babel.config.js
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
└── src
│ ├── App.vue
│ ├── assets
│ └── logo.png
│ ├── components
│ ├── HelloWorld.vue
│ └── Logo.vue
│ ├── main.js
│ ├── router
│ └── index.js
│ └── views
│ ├── About.vue
│ ├── Contact.vue
│ ├── Home.vue
│ └── Test.vue
├── docs
├── .vuepress
│ ├── config.js
│ └── public
│ │ ├── favicon-dark.svg
│ │ └── favicon.svg
├── README.md
└── guide
│ ├── README.md
│ ├── api.md
│ ├── locales.md
│ └── options.md
├── index.d.ts
├── package-lock.json
├── package.json
├── rollup.config.dev.js
├── rollup.config.prod.js
├── src
├── audit.js
├── index.js
└── utils.js
└── tests
└── e2e
├── fixtures
└── demo.json
└── integration
└── home-test.js
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | 'cypress/globals': true,
5 | browser: true,
6 | node: true
7 | },
8 | extends: [
9 | 'plugin:vue/recommended',
10 | '@vue/standard'
11 | ],
12 | plugins: [
13 | 'cypress'
14 | ],
15 | parserOptions: {
16 | parser: 'babel-eslint'
17 | },
18 | rules: {
19 | 'no-console': 'off'
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | node_modules
3 | .editorconfig
4 | .DS_Store
5 | demo/vue-axe.js
6 | demo/node_modules
7 | demo/dist
8 | demo/CNAME
9 | demo/package-lock.json
10 | cypress
11 | dist
12 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4 |
5 | ### [2.4.4](https://github.com/vue-a11y/vue-axe/compare/v2.4.3...v2.4.4) (2020-12-11)
6 |
7 |
8 | ### Bug Fixes
9 |
10 | * Console error in Nuxt app ([c6f03a7](https://github.com/vue-a11y/vue-axe/commit/c6f03a7c73829164f95c0319bb57380c84c64897))
11 |
12 | ### [2.4.3](https://github.com/vue-a11y/vue-axe/compare/v2.4.2...v2.4.3) (2020-11-15)
13 |
14 | ### [2.4.2](https://github.com/vue-a11y/vue-axe/compare/v2.4.1...v2.4.2) (2020-10-18)
15 |
16 | ### [2.4.1](https://github.com/vue-a11y/vue-axe/compare/v2.4.0...v2.4.1) (2020-09-08)
17 |
18 |
19 | ### Bug Fixes
20 |
21 | * peerDependencies axe-core ([aaf2b74](https://github.com/vue-a11y/vue-axe/commit/aaf2b7428c9cf177104682a7b229fb007b2e35d8))
22 |
23 | ## [2.4.0](https://github.com/vue-a11y/vue-axe/compare/v2.3.1...v2.4.0) (2020-07-31)
24 |
25 |
26 | ### Features
27 |
28 | * add option 'allowConsoleClears' ([a71f444](https://github.com/vue-a11y/vue-axe/commit/a71f44444ae87f9c10ec74b5da66b768ea6944ea))
29 |
30 |
31 | ### Bug Fixes
32 |
33 | * Title log in console inherit to support light and dark mode ([d4807d1](https://github.com/vue-a11y/vue-axe/commit/d4807d1e32c7f5e8a6e3791d1fe08b852ad350b2))
34 |
35 | ### [2.3.1](https://github.com/vue-a11y/vue-axe/compare/v2.3.0...v2.3.1) (2020-06-15)
36 |
37 |
38 | ### Bug Fixes
39 |
40 | * **types:** Update index.d.ts ([2d916b5](https://github.com/vue-a11y/vue-axe/commit/2d916b5884165343dce0b9ae93c0e77a13b6c5e5))
41 |
42 | ## [2.3.0](https://github.com/vue-a11y/vue-axe/compare/v2.2.1...v2.3.0) (2020-06-01)
43 |
44 |
45 | ### Features
46 |
47 | * **checkAndReport:** Add the checked component name in log title ([b6317e9](https://github.com/vue-a11y/vue-axe/commit/b6317e99dd111560654dcc11c19ef48beb8f1508))
48 | * **checkAndReport:** Check only the updated component ([672f261](https://github.com/vue-a11y/vue-axe/commit/672f261902e9190fcfd172f846e6fe5ae7bef0ae))
49 |
50 |
51 | ### Bug Fixes
52 |
53 | * Add delay 500 to first check ([ba488b0](https://github.com/vue-a11y/vue-axe/commit/ba488b027b398acce021a1d155a444567b555da1))
54 |
55 | ### [2.2.2](https://github.com/vue-a11y/vue-axe/compare/v2.2.1...v2.2.2) (2020-06-01)
56 |
57 | ### [2.2.1](https://github.com/vue-a11y/vue-axe/compare/v2.2.0...v2.2.1) (2020-06-01)
58 |
59 |
60 | ### Bug Fixes
61 |
62 | * **docs:** Fixed typo ([64f4b3c](https://github.com/vue-a11y/vue-axe/commit/64f4b3c0ca862141795d8f84fdd1ee41d491de1a))
63 |
64 | ## [2.2.0](https://github.com/vue-a11y/vue-axe/compare/v2.1.1...v2.2.0) (2020-06-01)
65 |
66 |
67 | ### Features
68 |
69 | * Add documentation ([2f32681](https://github.com/vue-a11y/vue-axe/commit/2f32681e7f0c4822dfddde8194936e06b413a853))
70 |
71 |
72 | ### Bug Fixes
73 |
74 | * **checkAndReport:** Using double requestAnimationFrame to checkAndReport ([0c59ff9](https://github.com/vue-a11y/vue-axe/commit/0c59ff9dab03e8d1d08ac2e8cbe292d996128d20))
75 | * **types:** More detailed typescript support ([f097f3a](https://github.com/vue-a11y/vue-axe/commit/f097f3adf044107821701a14f82864fee8fd3c6b))
76 |
77 | ### [2.1.1](https://github.com/vue-a11y/vue-axe/compare/v2.1.0...v2.1.1) (2020-05-30)
78 |
79 |
80 | ### Bug Fixes
81 |
82 | * **$axe.run:** Generate logs only if there are new violations ([539e41b](https://github.com/vue-a11y/vue-axe/commit/539e41b6a2bf889a925145283455d1b660ac3842))
83 |
84 | ## [2.1.0](https://github.com/vue-a11y/vue-axe/compare/v2.0.1...v2.1.0) (2020-05-15)
85 |
86 |
87 | ### Features
88 |
89 | * Added "auto" option to manage automatic axe verification. ([efc99e1](https://github.com/vue-a11y/vue-axe/commit/efc99e16edaba73f50846cadf59d456dd19483db))
90 |
91 | ### [2.0.1](https://github.com/vue-a11y/vue-axe/compare/v2.0.0...v2.0.1) (2020-05-15)
92 |
93 |
94 | ### Bug Fixes
95 |
96 | * address typescript compile issues ([fcf69fc](https://github.com/vue-a11y/vue-axe/commit/fcf69fc5d753d1adb46277effc54e93bda84124b))
97 |
98 | ## [2.0.0](https://github.com/vue-a11y/vue-axe/compare/v1.2.0...v2.0.0) (2020-05-13)
99 |
100 | ### Breaking Changes
101 | - Now axe-core is a peerDependency (external)
102 | - e.g. `npm i -D axe-core vue-axe`
103 | - `clearConsoleOnUpdate` now is **false by default**
104 |
105 | ## [1.2.0](https://github.com/vue-a11y/vue-axe/compare/v1.0.8...v1.2.0) (2020-05-13)
106 |
107 | ### Features
108 |
109 | * add custom result handler ([8c5c81b](https://github.com/vue-a11y/vue-axe/commit/8c5c81b4f0f7227d9acba3c1a7b6c11692a89bc1))
110 | * Adding option to register and execute plugins ([fb21d52](https://github.com/vue-a11y/vue-axe/commit/fb21d52805bd7ae2ab4a6098e00ccc5e63ab9173))
111 | * Adding the "axeRun" method to trigger manually ([a1b856b](https://github.com/vue-a11y/vue-axe/commit/a1b856bc27b297c7199a802e37ac7b84046a3a75))
112 |
113 |
114 | # [1.1.0](https://github.com/vue-a11y/vue-axe/compare/v1.0.8...v1.1.0) (2020-04-22)
115 |
116 |
117 | ### Features
118 |
119 | * add custom result handler ([8c5c81b](https://github.com/vue-a11y/vue-axe/commit/8c5c81b))
120 |
121 |
122 |
123 |
124 | ## [1.0.8](https://github.com/vue-a11y/vue-axe/compare/v1.0.7...v1.0.8) (2020-01-24)
125 |
126 |
127 |
128 |
129 | ## [1.0.7](https://github.com/vue-a11y/vue-axe/compare/v1.0.4...v1.0.7) (2018-10-09)
130 |
131 |
132 |
133 |
134 | ## [1.0.6](https://github.com/vue-a11y/vue-axe/compare/v1.0.5...v1.0.6) (2018-10-04)
135 |
136 |
137 |
138 |
139 | ## [1.0.5](https://github.com/vue-a11y/vue-axe/compare/v1.0.4...v1.0.5) (2018-10-04)
140 |
141 |
142 |
143 |
144 | ## [1.0.4](https://github.com/vue-a11y/vue-axe/compare/v1.0.3...v1.0.4) (2018-05-23)
145 |
146 |
147 |
148 |
149 | ## [1.0.3](https://github.com/vue-a11y/vue-axe/compare/v1.0.2...v1.0.3) (2018-05-16)
150 |
151 |
152 |
153 |
154 | ## [1.0.2](https://github.com/vue-a11y/vue-axe/compare/v1.0.1...v1.0.2) (2018-05-16)
155 |
156 |
157 |
158 |
159 | ## [1.0.1](https://github.com/vue-a11y/vue-axe/compare/v1.0.0...v1.0.1) (2018-05-16)
160 |
161 |
162 |
163 |
164 | # [1.0.0](https://github.com/vue-a11y/vue-axe/compare/v0.0.1...v1.0.0) (2018-05-16)
165 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 vue-a11y (Alan Ktquez)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vue-axe
2 |
3 | Accessibility auditing for Vue.js applications by running [dequelabs/axe-core](https://github.com/dequelabs/axe-core/) validation on the page you're viewing, `axe-core` will run 1 second after the last VueJS update (with a 5 seconds debounce max wait). Package inspired by [dequelabs/react-axe](https://github.com/dequelabs/react-axe).
4 |
5 | **NOTE: You can use [vue-axe-next](https://github.com/vue-a11y/vue-axe-next) for Vue.js 3**
6 |
7 | ## Links
8 | - [Documentation](https://axe.vue-a11y.com)
9 | - [Demo](https://vue-axe.surge.sh/)
10 |
11 | ## Contributing
12 | - From typos in documentation to coding new features;
13 | - Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;
14 | - Fork repository, make changes and send a pull request;
15 |
16 | Follow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)
17 |
18 | **Thank you**
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/cypress.json:
--------------------------------------------------------------------------------
1 | {
2 | "baseUrl": "http://localhost:8080",
3 | "fixturesFolder": "tests/e2e/fixtures",
4 | "integrationFolder": "tests/e2e/integration",
5 | "fileServerFolder": "demo",
6 | "pluginsFile": false,
7 | "supportFile": false,
8 | "videoRecording": false
9 | }
--------------------------------------------------------------------------------
/demo-nuxt/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Node template
3 | # Logs
4 | /logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # TypeScript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 |
62 | # parcel-bundler cache (https://parceljs.org/)
63 | .cache
64 |
65 | # next.js build output
66 | .next
67 |
68 | # nuxt.js build output
69 | .nuxt
70 |
71 | # Nuxt generate
72 | dist
73 |
74 | # vuepress build output
75 | .vuepress/dist
76 |
77 | # Serverless directories
78 | .serverless
79 |
80 | # IDE / Editor
81 | .idea
82 |
83 | # Service worker
84 | sw.*
85 |
86 | # macOS
87 | .DS_Store
88 |
89 | # Vim swap files
90 | *.swp
91 |
--------------------------------------------------------------------------------
/demo-nuxt/README.md:
--------------------------------------------------------------------------------
1 | # demo-nuxt
2 |
3 | ## Build Setup
4 |
5 | ```bash
6 | # install dependencies
7 | $ npm install
8 |
9 | # serve with hot reload at localhost:3000
10 | $ npm run dev
11 |
12 | # build for production and launch server
13 | $ npm run build
14 | $ npm run start
15 |
16 | # generate static project
17 | $ npm run generate
18 | ```
19 |
20 | For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
21 |
--------------------------------------------------------------------------------
/demo-nuxt/assets/README.md:
--------------------------------------------------------------------------------
1 | # ASSETS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
8 |
--------------------------------------------------------------------------------
/demo-nuxt/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vue-a11y/vue-axe/0be16ddfe98271f52e8b17f483178624918e8a3d/demo-nuxt/assets/logo.png
--------------------------------------------------------------------------------
/demo-nuxt/components/Logo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
14 |
15 |
16 |
17 |
23 |
--------------------------------------------------------------------------------
/demo-nuxt/components/README.md:
--------------------------------------------------------------------------------
1 | # COMPONENTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | The components directory contains your Vue.js Components.
6 |
7 | _Nuxt.js doesn't supercharge these components._
8 |
--------------------------------------------------------------------------------
/demo-nuxt/layouts/README.md:
--------------------------------------------------------------------------------
1 | # LAYOUTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your Application Layouts.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
8 |
--------------------------------------------------------------------------------
/demo-nuxt/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
59 |
--------------------------------------------------------------------------------
/demo-nuxt/middleware/README.md:
--------------------------------------------------------------------------------
1 | # MIDDLEWARE
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your application middleware.
6 | Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
7 |
8 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
9 |
--------------------------------------------------------------------------------
/demo-nuxt/nuxt.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | // Global page headers (https://go.nuxtjs.dev/config-head)
3 | head: {
4 | title: 'demo-nuxt',
5 | meta: [
6 | { charset: 'utf-8' },
7 | { name: 'viewport', content: 'width=device-width, initial-scale=1' },
8 | { hid: 'description', name: 'description', content: '' }
9 | ],
10 | link: [
11 | { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
12 | ]
13 | },
14 |
15 | // Global CSS (https://go.nuxtjs.dev/config-css)
16 | css: [
17 | ],
18 |
19 | // Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
20 | plugins: [
21 | './plugins/vue-axe'
22 | ],
23 |
24 | // Auto import components (https://go.nuxtjs.dev/config-components)
25 | components: true,
26 |
27 | // Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
28 | buildModules: [
29 | ],
30 |
31 | // Modules (https://go.nuxtjs.dev/config-modules)
32 | modules: [
33 | ],
34 |
35 | // Build Configuration (https://go.nuxtjs.dev/config-build)
36 | build: {
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/demo-nuxt/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo-nuxt",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "nuxt",
7 | "build": "nuxt build",
8 | "start": "nuxt start",
9 | "generate": "nuxt generate"
10 | },
11 | "dependencies": {
12 | "core-js": "^3.6.5",
13 | "nuxt": "^2.14.6"
14 | },
15 | "devDependencies": {}
16 | }
17 |
--------------------------------------------------------------------------------
/demo-nuxt/pages/About.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
About page
4 |
5 |
6 |
7 | My content
8 |
9 | Go to Home
10 |
11 |
12 | Contact
13 |
14 |
12 |
13 |
14 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo-nuxt/pages/README.md:
--------------------------------------------------------------------------------
1 | # PAGES
2 |
3 | This directory contains your Application Views and Routes.
4 | The framework reads all the `*.vue` files inside this directory and creates the router of your application.
5 |
6 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
7 |
--------------------------------------------------------------------------------
/demo-nuxt/pages/Test.vue:
--------------------------------------------------------------------------------
1 |
2 |