rehype-accessible-emojis
Advanced tools
Weekly downloads
Readme
Written in Typescript
As I couldn't get gatsby-remark-a11y-emoji working with gatsby-plugin-mdx I made this rehype version to make emojis accessible by wrapping them in a <span role="image">
with aria-label
set to the emojis description based on gemoji.
So
😅
turns into
<span role="img" aria-label="smiling face with open mouth & cold sweat">
😅
</span>
so screenreaders and other assistive technology can understand the emojis and act accordingly by for example reading the aria-label
.
yarn add -D rehype-accessible-emojis
# or
npm i -D rehype-accessible-emojis
Given an example.html
like
<h1>Hello World!</h1>
<p>👋 Hi, I love emojis a lot 🤓</p>
and example.js
like
import vfile from 'to-vfile'
import rehype from 'rehype'
import { rehypeAccessibleEmojis } from 'rehype-accessible-emojis'
rehype()
.use(rehypeAccessibleEmojis)
.process(vfile.readSync('example.html'), (_, file) => {
console.log(String(file))
})
running node example
results in
<h1>Hello World!</h1>
<p>
<span role="image" aria-label="waving hand">👋</span> Hi, I love emojis a lot
<span role="image" aria-label="nerd face">🤓</span>
</p>
// gatsby-config.js
{
resolve: `gatsby-plugin-mdx`,
options: {
rehypePlugins: [require(`rehype-accessible-emojis`).rehypeAccessibleEmojis],
},
}
options.ignore
(Array, default: ['title', 'script', 'style', 'svg', 'math']
)
Tag-names of parents to ignore, to not wrap an emoji within a <script>
for example.
Will be merged with the defaults.
FAQs
Rehype plugin to make emojis accessible, wrapping emojis in <span> with image role and the emojis name in aria-label>
The npm package rehype-accessible-emojis receives a total of 593 weekly downloads. As such, rehype-accessible-emojis popularity was classified as not popular.
We found that rehype-accessible-emojis demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.