diff --git a/Readability-readerable.js b/Readability-readerable.js index 78012fb..0a2bea0 100644 --- a/Readability-readerable.js +++ b/Readability-readerable.js @@ -30,7 +30,8 @@ var REGEXPS = { function isNodeVisible(node) { // Have to null-check node.style to deal with SVG and MathML nodes. - return (!node.style || node.style.display != "none") && !node.hasAttribute("hidden"); + return (!node.style || node.style.display != "none") && !node.hasAttribute("hidden") + && (!node.hasAttribute("aria-hidden") || node.getAttribute("aria-hidden") != "true"); } /** diff --git a/Readability.js b/Readability.js index 27c494b..46d24b3 100644 --- a/Readability.js +++ b/Readability.js @@ -1786,7 +1786,9 @@ Readability.prototype = { }, _isProbablyVisible: function(node) { - return (!node.style || node.style.display != "none") && !node.hasAttribute("hidden"); + return (!node.style || node.style.display != "none") + && !node.hasAttribute("hidden") + && (!node.hasAttribute("aria-hidden") || node.getAttribute("aria-hidden") != "true"); }, /** diff --git a/test/test-pages/remove-aria-hidden/expected-metadata.json b/test/test-pages/remove-aria-hidden/expected-metadata.json new file mode 100644 index 0000000..7708c68 --- /dev/null +++ b/test/test-pages/remove-aria-hidden/expected-metadata.json @@ -0,0 +1,7 @@ +{ + "title": "Remove aria-hidden elements test", + "byline": null, + "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.", + "readerable": false, + "siteName": null +} diff --git a/test/test-pages/remove-aria-hidden/expected.html b/test/test-pages/remove-aria-hidden/expected.html new file mode 100644 index 0000000..3e0c0e1 --- /dev/null +++ b/test/test-pages/remove-aria-hidden/expected.html @@ -0,0 +1,6 @@ +
+
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
\ No newline at end of file diff --git a/test/test-pages/remove-aria-hidden/source.html b/test/test-pages/remove-aria-hidden/source.html new file mode 100644 index 0000000..1c558e6 --- /dev/null +++ b/test/test-pages/remove-aria-hidden/source.html @@ -0,0 +1,19 @@ + + + + + Remove aria-hidden elements test + + +
+

Lorem

+
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua.

+

Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat.

+
+
+ +