Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a592b44

Browse files
authoredJul 10, 2020
Merge pull request #30 from vue-a11y/aria-hidden-emojis
Don't warn for accessible-emoji when the emoji are a11y hidden
2 parents e0b7413 + 245315e commit a592b44

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed
 

‎CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- When emojis are hidden from the a11y tree, don't warn with the `accessible-emoji` rule.
12+
913
## [0.3.0] - 2020-07-03
1014

1115
### Changed

‎src/rules/__tests__/accessible-emoji.test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ makeRuleTester("accessible-emoji", rule, {
66
"<div />",
77
"<span />",
88
"<span role='img' aria-label='Panda face'>😰</span>",
9-
"<span role='img' aria-label='Snowman'>&#9731;</span>"
9+
"<span role='img' aria-label='Snowman'>&#9731;</span>",
10+
"<span aria-hidden>😰</span>",
11+
"<div aria-hidden><span>😰</span></div>"
1012
],
1113
invalid: [
1214
"<span>😰</span>",

‎src/rules/accessible-emoji.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ const {
44
getElementAttributeValue,
55
getElementType,
66
hasAriaLabel,
7+
isHiddenFromScreenReader,
78
makeDocsURL
89
} = require("../utils");
910

11+
const isAriaHidden = (node) => {
12+
if (!node || node.type !== "VElement") {
13+
return false;
14+
}
15+
16+
return isHiddenFromScreenReader(node) || isAriaHidden(node.parent);
17+
};
18+
1019
module.exports = {
1120
meta: {
1221
docs: {
@@ -25,9 +34,10 @@ module.exports = {
2534
const element = node.parent;
2635

2736
if (
28-
!hasAriaLabel(element) ||
29-
getElementType(element) !== "span" ||
30-
getElementAttributeValue(element, "role") !== "img"
37+
!isAriaHidden(element) &&
38+
(!hasAriaLabel(element) ||
39+
getElementType(element) !== "span" ||
40+
getElementAttributeValue(element, "role") !== "img")
3141
) {
3242
context.report({ node, messageId: "default" });
3343
}

0 commit comments

Comments
 (0)
Please sign in to comment.