{"_id":"@daniel.husar/babel-plugin-react-add-a11y-props","_rev":"3-5f023a850209d361fd8cdb6cf4d4b123","name":"@daniel.husar/babel-plugin-react-add-a11y-props","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@daniel.husar/babel-plugin-react-add-a11y-props","version":"1.0.0","description":"Add accesibility props to react elements when there is onClick handler on them","scripts":{"test":"jest"},"main":"src/index.js","author":{"name":"Daniel Husar"},"repository":{"type":"git","url":"git+https://github.com/danielhusar/babel-plugin-react-add-a11y-props.git"},"keywords":["babel","babel-plugin","react","accesibility","a11y"],"license":"MIT","private":false,"devDependencies":{"@babel/core":"^7.0.0","@babel/preset-react":"^7.0.0","babel-plugin-transform-react-createelement-to-jsx":"^1.0.1","jest":"^23.5.0","prettier":"1.14.2"},"bugs":{"url":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props/issues"},"homepage":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props#readme","gitHead":"7b68f7bae543d5f85aa61548d1f0473856ae6a92","_id":"@daniel.husar/babel-plugin-react-add-a11y-props@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"efrafa","email":"dano.husar@gmail.com"},"dist":{"integrity":"sha512-1o6hX9Y6HHyfng6iELuVAUmFQLbGrqjWXglKc+llHOOv21Ns4caPQMJviHYanm+VcKNyWELR0ck0YVkW1NBUeg==","shasum":"3b0e7bf3b6ba8a89756281f849e2fd8f292af996","tarball":"https://registry.npmjs.org/@daniel.husar/babel-plugin-react-add-a11y-props/-/babel-plugin-react-add-a11y-props-1.0.0.tgz","fileCount":3,"unpackedSize":5489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkcSdCRA9TVsSAnZWagAACmcP/iYQzTq4XFyjcbMMtnah\nf0bRe9IxeO8oipB7ozgFhbxhexEjr2pVcy3GvN77uVcBjZOwg/5DN6a3LHfI\nvU2t3CgDHarCg+52HdF+AkRPIFfGQNj8GBCAPnqn0P//JaQ8gzoGWBQaw1tF\nPvf+f/s/wHCCllHogtego+UnpowiytmWpyKuRGwDvFm5JrdC5xQlMqc7NPau\n5nOwrvareo/7PnulBotqCszeDDHIz5dl1UT3Oarqb/nIR4EB4US9lrLDmJDO\nPtu6ccF1+OctMyvUsZ+gFYsoCA3XjitPQJJyAsal8qJQU1HfhT3jEtfQobDr\n/Nam0UkcgjS6t9OsOoGMkx2jhn91WtNH95pbKg83wq2JIDTfIT4Wu19PxPwo\nmPzm5hG1H9Pgx1g+Vwl3S81W1PiqKKyYkJGa4vu0yOHpomQcm+W64Qlc9MM8\n3vfb3bVmdDfUIw7oqc8NGJibUfeeyvI+PSwPM2M7FpWsCfDgqJIrBxC1VGkt\ndtTRJz2NpkTMM+OmhhVeQF/OqTbMtntEm1JQ2c56hjFPMmwE4BGtnE7OAoyu\nUa9f5/CwydbNhzr3Mq6WjrQO1ptSCUL9UZcg3G/bfXoVv++6KbtodP3ZYvWa\n4zSdNGKb+eHt6t0q5QHTqlmQAC22bdLV7Sg+N4HMXFlvcdCwwHMITL7hfDCJ\nIY+H\r\n=nMk7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsVP28jDmaOacUbDXXfj5h14/6GxNji6GrwDuDVwUj7wIhAIX/jYfMRyQ8+mYlLCYZ85uhfhAZYXx8+d4+TvqKuXcQ"}]},"maintainers":[{"name":"efrafa","email":"dano.husar@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-react-add-a11y-props_1.0.0_1536279709203_0.7593467907832954"},"_hasShrinkwrap":false},"1.0.1":{"name":"@daniel.husar/babel-plugin-react-add-a11y-props","version":"1.0.1","description":"Add accesibility props to react elements when there is onClick handler on them","scripts":{"test":"jest"},"main":"src/index.js","author":{"name":"Daniel Husar"},"repository":{"type":"git","url":"git+https://github.com/danielhusar/babel-plugin-react-add-a11y-props.git"},"keywords":["babel","babel-plugin","react","accesibility","a11y"],"license":"MIT","private":false,"devDependencies":{"@babel/core":"^7.0.0","@babel/preset-react":"^7.0.0","babel-plugin-transform-react-createelement-to-jsx":"^1.0.1","jest":"^23.5.0","prettier":"1.14.2"},"bugs":{"url":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props/issues"},"homepage":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props#readme","gitHead":"810237781ce9a4eeb3acf47b47e17229e5fed781","_id":"@daniel.husar/babel-plugin-react-add-a11y-props@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"efrafa","email":"dano.husar@gmail.com"},"dist":{"integrity":"sha512-t6rhc3uCfmrQjkKqlVx3HflMZ4cKQKQ7qVxd1MRE26ftdz5qVW7QGBKvrKdvkdM9Q0Uv5SuneT9zsvIVliBhuQ==","shasum":"29ff4d09ee4ef319209ac2e77704daf01e89477e","tarball":"https://registry.npmjs.org/@daniel.husar/babel-plugin-react-add-a11y-props/-/babel-plugin-react-add-a11y-props-1.0.1.tgz","fileCount":3,"unpackedSize":5500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboBv4CRA9TVsSAnZWagAAY+IP/3X8lqKqHHpEctWWIepd\nj0U3l57KXVetXBJYqGNuEU+em0vvM0hi27yPrmpGo02cMeacUZ3zLYwje4zC\nRQmTzeWeS89GCw8QfyUdD52bLJXQ8B0iCyVHoz3UL5fKQAaN3L41v/oyB83Y\nD/1Kgl2N54nWxI+UP3pVHulpvhdTgMSb70TVhRKYAI/GnlOfaGMah0AZwKXU\nB0nRcjJCXwSoNT419dRmkBgObPxArEfP9M9sITgKBdu/gqqIZ755DBJFMmYS\n6RiHa6yzq/xVjwZ1xjJC1WFpCrnqoBSrMbk6Epjp4CG6RKwp39ZjjjHhoyPk\nsjrpk3URsH1InY/z7syM2BHUhMJNM19H0XhxXj0O+kS3a+mHdou/7MdbX2vD\nKYyIqZd8ATlCvZQTnpNS17xu1a3IVHQMExyBorFUhmlybBC6Gnk0+8OnogjT\nOu/p4mlHKnlwd9CSGln9d/7hHLKFIHN37IjgMKXi/4Y9agcTnn4+QDAbaEiv\n66HWsbKacaJccrrBRXeaYUQfozvjokaQ8a0YpeMomBI/f5pP9yDQsmovfHBL\ndxuvFMET9v68xONfOTVdxZjq42SpfRY9E+JeGj+hFcFaEIRb63pVZS1Qw5b8\nYLYcLOjnwWj6Htyj29keOuRklXKk3gtHWcbIQOwsKYj4U3EKWsBH1XLT0R02\n9fO6\r\n=hFKi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJPuIF1eGSXrK0E3qnWf8HXmc0+Pr4E6SxAibFxW39AgIhAKE9eLDmNerZy1mttZFjI34BIhlLtK+iEMEpvVnfWrri"}]},"maintainers":[{"name":"efrafa","email":"dano.husar@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-react-add-a11y-props_1.0.1_1537219575287_0.8020799647283774"},"_hasShrinkwrap":false},"2.0.0":{"name":"@daniel.husar/babel-plugin-react-add-a11y-props","version":"2.0.0","description":"Add accessibility attributes to react elements when there is onClick handler on them","scripts":{"test":"jest"},"main":"src/index.js","author":{"name":"Daniel Husar"},"repository":{"type":"git","url":"git+https://github.com/danielhusar/babel-plugin-react-add-a11y-props.git"},"keywords":["babel","babel-plugin","react","accessibility","a11y"],"license":"MIT","private":false,"devDependencies":{"@babel/core":"^7.0.0","@babel/preset-react":"^7.0.0","babel-plugin-transform-react-createelement-to-jsx":"^1.0.1","jest":"^23.5.0","prettier":"1.14.2"},"bugs":{"url":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props/issues"},"homepage":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props#readme","gitHead":"ef2fe52ef3c395a3048f45a147f26d65140976a3","_id":"@daniel.husar/babel-plugin-react-add-a11y-props@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"efrafa","email":"dano.husar@gmail.com"},"dist":{"integrity":"sha512-Z02MXg4JM0v5ZPk655GKH8lFA/uxOOuE7ECqlUN1XNHluXUS7mGnGStvxRRtHiBIh4ASYhhtlt7xIdHsB502eA==","shasum":"b82642f440694081dc7ca5b707331095555547fa","tarball":"https://registry.npmjs.org/@daniel.husar/babel-plugin-react-add-a11y-props/-/babel-plugin-react-add-a11y-props-2.0.0.tgz","fileCount":3,"unpackedSize":5903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBw8hCRA9TVsSAnZWagAAougQAIefuhnU9ffCPGqfBcZb\nIoc3V6QllLNQvmlncAjqw2zd/hxpRozI+mRXxw4U/+HGMRXkJjATr5sKEKWT\nfi/bYCfIKtT8Rl98ML5cST6C/Ygs0BsQ+oI1WzrbCUpSQ7OBP7MePCaGnKnk\nksaz87Vh7+C+nyULQEm+QspDarZmkMZEUcXNt0OFwbvDypuSRFrM8WAQlpvS\nquMpio96cOwIWhsx3Muj5FvavskwO9tvvGiEHT8TgWFK56BaiJEajnGj8OSj\ng1WHhaaKo9G6h24KoWxtmWQemRbeFb/fr5bgIXS0GiMFsuOmQIn/eQYKvQot\nRPc9yTEAsO4Z43EVi+wYq7FzLqt2jzPgCQEs9i2dzv6RGlWk80ZcGTfxzunc\npJ+ReK8fk51nmF9D7zrBolV1FWqocbrREW3AFhASKboRFTbfNSKLGM03FURd\nfzzmT9Bfx3pfStQvUNjizhWRmw2zylvF7qGxxYxEUJUXg17+AaFVk7GORHoA\nbIZeMrbwf7+zZdxgd/pTInbuBdCariTIkblGui9zB9OspGMTJ8yOVT3K68QP\nZVTkXaIL5Er2nRgC/2C1Xcm/Imp7yt8Qtpx15SYRQLnqhtYMLrz6tBSdNx01\nqNlxV6Rdx4uJGhNA5o1h2jeEk7xkEWE66s0oalADkaGhAPW0Q2EeOdj9WEnI\njUOA\r\n=UvPm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7BmdNYXj0ZGT/Shr8XMxtCVznLs/BKu2AzPvdWb5nnAiEA/TzypjR3lgIvy72sUtW8haNaSOqdbbNY55M0iTK/XT0="}]},"maintainers":[{"name":"efrafa","email":"dano.husar@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-react-add-a11y-props_2.0.0_1543966496767_0.6788556291363388"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-07T00:21:49.043Z","1.0.0":"2018-09-07T00:21:49.430Z","modified":"2022-04-05T02:40:30.454Z","1.0.1":"2018-09-17T21:26:15.564Z","2.0.0":"2018-12-04T23:34:56.921Z"},"maintainers":[{"name":"efrafa","email":"dano.husar@gmail.com"}],"description":"Add accessibility attributes to react elements when there is onClick handler on them","homepage":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props#readme","keywords":["babel","babel-plugin","react","accessibility","a11y"],"repository":{"type":"git","url":"git+https://github.com/danielhusar/babel-plugin-react-add-a11y-props.git"},"author":{"name":"Daniel Husar"},"bugs":{"url":"https://github.com/danielhusar/babel-plugin-react-add-a11y-props/issues"},"license":"MIT","readme":"# babel-plugin-react-add-a11y-props ![https://travis-ci.org/danielhusar/babel-plugin-react-add-a11y-props](https://img.shields.io/travis/danielhusar/babel-plugin-react-add-a11y-props.svg) ![NpmLicense](https://img.shields.io/npm/l/@daniel.husar/babel-plugin-react-add-a11y-props.svg) ![npm](https://img.shields.io/npm/v/@daniel.husar/babel-plugin-react-add-a11y-props.svg)\n\n> Add accessibility attributes to react dom elements\n\nThis plugin will add `onKeyUp`, `role=\"button\"` and `tabIndex=\"0\"` to all html react elements that have onClick handler.\nIt will not override those attributes if they are already defined, and `onKeyUp` will not be added to anchors with href, inputs, buttons and selects.\n`onKeyUp` will fire `onClick` event when pressed enter or space.\n\n## Install\n\n```sh\nnpm install --save-dev @daniel.husar/babel-plugin-react-add-a11y-props\nyarn add @daniel.husar/babel-plugin-react-add-a11y-props --dev\n```\n\n## Usage\n\nAdd `@daniel.husar/babel-plugin-react-add-a11y-props` to your plugins array in `.babelrc`\n\n\n## See the examples for what comes in and out:\n\n### In:\n\n```jsx\n<span onClick={cb} />\n<div onClick={cb} />\n<article onClick={cb} />\n<a onClick={() => foo()} />\n```\n\n### Out:\n\n```jsx\n<span onClick={cb} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && cb(e)} tabIndex=\"0\" role=\"button\" />\n<div onClick={cb} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && cb(e)} tabIndex=\"0\" role=\"button\" />\n<article onClick={cb} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && cb(e)} tabIndex=\"0\" role=\"button\" />\n<a onClick={() => foo()} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && (() => foo())(e)} tabIndex=\"0\" role=\"button\" />\n```\n\n<hr>\n\n### In:\n\n```jsx\n<input type=\"submit\" onClick={cb} />\n<button onClick={cb} />\n<select onClick={() => foo()} />\n```\n\n### Out:\n\n```jsx\n<input type=\"submit\" onClick={cb} tabIndex=\"0\" />\n<button onClick={cb} tabIndex=\"0\" />\n<select onClick={() => foo()} tabIndex=\"0\" />\n```\n\n<hr>\n\n### In:\n\n```jsx\n<div tabIndex=\"-1\" onClick={cb} />\n<div tabIndex=\"1\" onClick={cb} />\n<div role=\"foo\" onClick={cb} />\n```\n\n### Out:\n\n```jsx\n<div tabIndex=\"-1\" onClick={cb} />\n<div tabIndex=\"1\" onClick={cb} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && cb(e)} role=\"button\" />\n<div role=\"foo\" onClick={cb} onKeyUp={e => (e.keyCode === 13 || e.keyCode === 32) && cb(e)} tabIndex=\"0\" />\n```\n\n## Disclaimer\nThe event passed into the onClick callback from keyUp event is not click but keyboard event which is sligtly different so you should account for both.\n\nRight now this plugin will not take into account `onClick` added via spread objects.\n\n## License\n\nMIT © [Daniel Husar](https://github.com/danielhusar)\n","readmeFilename":"readme.md"}