diff --git a/CHANGELOG.md b/CHANGELOG.md
index 37dbdf13..b042c149 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
## [Unreleased]
+### Changed
+
+- Handle non string literal role values and `role-has-required-aria-props` and non string literal value for `kind` attribute in `media-has-caption`.
+
## [0.5.1] - 2020-09-08
### Changed
diff --git a/src/rules/__tests__/role-has-required-aria-props.test.js b/src/rules/__tests__/role-has-required-aria-props.test.js
index a1937a50..701d24da 100644
--- a/src/rules/__tests__/role-has-required-aria-props.test.js
+++ b/src/rules/__tests__/role-has-required-aria-props.test.js
@@ -3,7 +3,9 @@ const makeRuleTester = require("./makeRuleTester");
makeRuleTester("role-has-required-aria-props", rule, {
valid: [
- ""
+ "",
+ "",
+ ""
],
invalid: [
{
diff --git a/src/rules/media-has-caption.js b/src/rules/media-has-caption.js
index ea9ca07d..4e210e95 100644
--- a/src/rules/media-has-caption.js
+++ b/src/rules/media-has-caption.js
@@ -10,7 +10,7 @@ const {
const isCaptionsTrackElement = (node) => {
const kind = getElementAttributeValue(node, "kind");
- return kind && kind.toLowerCase() === "captions";
+ return kind && typeof kind === "string" && kind.toLowerCase() === "captions";
};
module.exports = {
diff --git a/src/rules/role-has-required-aria-props.js b/src/rules/role-has-required-aria-props.js
index 72ae0003..490131b9 100644
--- a/src/rules/role-has-required-aria-props.js
+++ b/src/rules/role-has-required-aria-props.js
@@ -28,7 +28,7 @@ module.exports = {
}
const roleValue = getElementAttributeValue(node, "role");
- if (!roleValue) {
+ if (!roleValue || typeof roleValue !== "string") {
return;
}