Skip to content

Commit a6458a0

Browse files
seanforyou23dgutride
authored andcommitted
feat(a11y): add basic a11y checks with react-axe (#712)
* feat(a11y): add basic a11y checks with react-axe fix #603 * [issue-603] initialize axe in a more appropriate place
1 parent 75f92c0 commit a6458a0

File tree

3 files changed

+53
-25
lines changed

3 files changed

+53
-25
lines changed

packages/patternfly-3/patternfly-react/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,8 @@
6262
"build:babel:esm": "cross-env BABEL_ENV=production:esm babel src --out-dir dist/esm",
6363
"build:less": "mkdir -p dist/less && cp -r less/* dist/less",
6464
"build:sass": "mkdir -p dist/sass && cp -r sass/patternfly-react/* dist/sass && node-sass --output-style compressed --include-path sass --include-path $npm_package_sassIncludes_patternfly --include-path $npm_package_sassIncludes_bootstrap --include-path $npm_package_sassIncludes_fontAwesome -o dist/css sass/patternfly-react.scss"
65+
},
66+
"devDependencies": {
67+
"react-axe": "^3.0.2"
6568
}
6669
}

storybook/config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
import React from 'react';
2+
import ReactDOM from 'react-dom';
13
import { configure, setAddon } from '@storybook/react';
24
import { setOptions } from '@storybook/addon-options';
35
import infoAddon from '@storybook/addon-info';
46
import './sass/base.scss';
57

8+
if (process.env.NODE_ENV !== 'production') {
9+
const axe = require('react-axe'); // eslint-disable-line global-require
10+
axe(React, ReactDOM, 1000);
11+
}
12+
613
setAddon(infoAddon);
714

815
const storyContext = require.context('../packages', true, /\.stories\.js$/);

yarn.lock

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1487,6 +1487,10 @@ aws4@^1.2.1, aws4@^1.6.0:
14871487
version "1.7.0"
14881488
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
14891489

1490+
axe-core@^3.0.0:
1491+
version "3.1.2"
1492+
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.1.2.tgz#ca0aff897ebefca7552f97859dc1217c06c4f9e6"
1493+
14901494
axobject-query@^0.1.0:
14911495
version "0.1.0"
14921496
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0"
@@ -4574,7 +4578,7 @@ csso@~2.3.1:
45744578
clap "^1.0.9"
45754579
source-map "^0.5.3"
45764580

4577-
cssom@0.3.4, cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4:
4581+
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4:
45784582
version "0.3.4"
45794583
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"
45804584

@@ -5247,29 +5251,26 @@ entities@^1.1.1, entities@~1.1.1:
52475251
version "1.1.1"
52485252
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
52495253

5250-
enzyme-adapter-react-16@^1.1.1:
5251-
version "1.1.1"
5252-
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz#a8f4278b47e082fbca14f5bfb1ee50ee650717b4"
5254+
enzyme-adapter-react-16.3@^1.2.0:
5255+
version "1.2.0"
5256+
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16.3/-/enzyme-adapter-react-16.3-1.2.0.tgz#4e197fe7ea324ceae3e4171f30492dc5f813b079"
52535257
dependencies:
5254-
enzyme-adapter-utils "^1.3.0"
5255-
lodash "^4.17.4"
5256-
object.assign "^4.0.4"
5258+
enzyme-adapter-utils "^1.6.0"
5259+
function.prototype.name "^1.1.0"
5260+
object.assign "^4.1.0"
52575261
object.values "^1.0.4"
5258-
prop-types "^15.6.0"
5262+
prop-types "^15.6.2"
5263+
react-is "^16.4.2"
52595264
react-reconciler "^0.7.0"
5260-
react-test-renderer "^16.0.0-0"
5265+
react-test-renderer "~16.3.0-0"
52615266

5262-
enzyme-adapter-utils@^1.3.0:
5263-
version "1.3.0"
5264-
resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz#d6c85756826c257a8544d362cc7a67e97ea698c7"
5267+
enzyme-adapter-utils@^1.6.0:
5268+
version "1.8.1"
5269+
resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.8.1.tgz#a927d840ce2c14b42892a533aec836809d4e022b"
52655270
dependencies:
5266-
lodash "^4.17.4"
5267-
object.assign "^4.0.4"
5268-
prop-types "^15.6.0"
5269-
5270-
enzyme-context-patch@^0.0.9:
5271-
version "0.0.9"
5272-
resolved "https://registry.yarnpkg.com/enzyme-context-patch/-/enzyme-context-patch-0.0.9.tgz#0661659148bdf0af420631930f9e488ce2ba224f"
5271+
function.prototype.name "^1.1.0"
5272+
object.assign "^4.1.0"
5273+
prop-types "^15.6.2"
52735274

52745275
enzyme-to-json@^3.3.3:
52755276
version "3.3.4"
@@ -10450,7 +10451,7 @@ object-visit@^1.0.0:
1045010451
dependencies:
1045110452
isobject "^3.0.0"
1045210453

10453-
object.assign@^4.0.4, object.assign@^4.1.0:
10454+
object.assign@^4.1.0:
1045410455
version "4.1.0"
1045510456
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
1045610457
dependencies:
@@ -11847,6 +11848,13 @@ prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7,
1184711848
loose-envify "^1.3.1"
1184811849
object-assign "^4.1.1"
1184911850

11851+
prop-types@^15.6.2:
11852+
version "15.6.2"
11853+
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
11854+
dependencies:
11855+
loose-envify "^1.3.1"
11856+
object-assign "^4.1.1"
11857+
1185011858
proper-lockfile@^1.1.2:
1185111859
version "1.2.0"
1185211860
resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-1.2.0.tgz#ceff5dd89d3e5f10fb75e1e8e76bc75801a59c34"
@@ -12067,6 +12075,12 @@ react-addons-create-fragment@^15.5.3:
1206712075
loose-envify "^1.3.1"
1206812076
object-assign "^4.1.0"
1206912077

12078+
react-axe@^3.0.2:
12079+
version "3.0.2"
12080+
resolved "https://registry.yarnpkg.com/react-axe/-/react-axe-3.0.2.tgz#91e4265b665dd1f45cf3d0254a90c72ff6fd88cb"
12081+
dependencies:
12082+
axe-core "^3.0.0"
12083+
1207012084
react-bootstrap-switch@^15.5.3:
1207112085
version "15.5.3"
1207212086
resolved "https://registry.yarnpkg.com/react-bootstrap-switch/-/react-bootstrap-switch-15.5.3.tgz#97287791d4ec0d1892d142542e7e5248002b1251"
@@ -12297,10 +12311,14 @@ react-inspector@^2.2.2:
1229712311
babel-runtime "^6.26.0"
1229812312
is-dom "^1.0.9"
1229912313

12300-
react-is@^16.3.2, react-is@^16.4.0:
12314+
react-is@^16.3.2:
1230112315
version "16.4.0"
1230212316
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf"
1230312317

12318+
react-is@^16.4.2:
12319+
version "16.5.2"
12320+
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.5.2.tgz#e2a7b7c3f5d48062eb769fcb123505eb928722e3"
12321+
1230412322
react-lifecycles-compat@^3.0.0:
1230512323
version "3.0.4"
1230612324
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -12430,14 +12448,14 @@ react-syntax-highlighter@^7.0.2:
1243012448
prismjs "^1.8.4"
1243112449
refractor "^2.4.1"
1243212450

12433-
react-test-renderer@^16.0.0-0:
12434-
version "16.4.0"
12435-
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.0.tgz#0dbe0e24263e94e1830c7afb1f403707fad313a3"
12451+
react-test-renderer@~16.3.0-0:
12452+
version "16.3.2"
12453+
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.3.2.tgz#3d1ed74fda8db42521fdf03328e933312214749a"
1243612454
dependencies:
1243712455
fbjs "^0.8.16"
1243812456
object-assign "^4.1.1"
1243912457
prop-types "^15.6.0"
12440-
react-is "^16.4.0"
12458+
react-is "^16.3.2"
1244112459

1244212460
react-textarea-autosize@^5.2.1:
1244312461
version "5.2.1"

0 commit comments

Comments
 (0)