From 7d3c8b1ce5e1884b2a25c1916d6dbccdc4bf4b9a Mon Sep 17 00:00:00 2001
From: Lindsey Wild <35239154+lindseywild@users.noreply.github.com>
Date: Tue, 11 Jul 2023 11:06:54 +0000
Subject: [PATCH 1/8] adds test for svg-has-accessible-name rule
---
tests/a11y-svg-has-accessible-name.js | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 tests/a11y-svg-has-accessible-name.js
diff --git a/tests/a11y-svg-has-accessible-name.js b/tests/a11y-svg-has-accessible-name.js
new file mode 100644
index 00000000..291ef60b
--- /dev/null
+++ b/tests/a11y-svg-has-accessible-name.js
@@ -0,0 +1,26 @@
+const rule = require('../lib/rules/a11y-svg-has-accessible-name')
+const RuleTester = require('eslint').RuleTester
+
+const ruleTester = new RuleTester({
+ parserOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ ecmaFeatures: {
+ jsx: true,
+ },
+ },
+})
+
+const errorMessage =
+ 'SVG elements should have an accessible name. Add a `
Codestin Search App"},
+ {code: ""},
+ {code: ""},
+ ],
+ invalid: [
+ {code: ";", errors: [{message: errorMessage}]},
+ ],
+})
From 46fa4a676a00d2c227e08993f7146be45470c370 Mon Sep 17 00:00:00 2001
From: Lindsey Wild <35239154+lindseywild@users.noreply.github.com>
Date: Tue, 11 Jul 2023 11:09:07 +0000
Subject: [PATCH 2/8] updates text
---
tests/a11y-svg-has-accessible-name.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/a11y-svg-has-accessible-name.js b/tests/a11y-svg-has-accessible-name.js
index 291ef60b..d50f32ae 100644
--- a/tests/a11y-svg-has-accessible-name.js
+++ b/tests/a11y-svg-has-accessible-name.js
@@ -12,7 +12,7 @@ const ruleTester = new RuleTester({
})
const errorMessage =
- 'SVG elements should have an accessible name. Add a `Codestin Search App"},
{code: ""},
{code: ""},
+ {code: ""},
+ {code: ""},
],
invalid: [
{code: ";", errors: [{message: errorMessage}]},
From 4a59a5b3712b017e599390a51195a594139cc5e7 Mon Sep 17 00:00:00 2001
From: Lindsey Wild <35239154+lindseywild@users.noreply.github.com>
Date: Tue, 11 Jul 2023 11:08:07 -0400
Subject: [PATCH 4/8] adds code for checking for accessible svg
---
lib/rules/a11y-svg-has-accessible-name.js | 41 +++++++++++++++++++++++
tests/a11y-svg-has-accessible-name.js | 37 +++++++++++++++-----
2 files changed, 70 insertions(+), 8 deletions(-)
create mode 100644 lib/rules/a11y-svg-has-accessible-name.js
diff --git a/lib/rules/a11y-svg-has-accessible-name.js b/lib/rules/a11y-svg-has-accessible-name.js
new file mode 100644
index 00000000..c1a6d15f
--- /dev/null
+++ b/lib/rules/a11y-svg-has-accessible-name.js
@@ -0,0 +1,41 @@
+const {hasProp} = require('jsx-ast-utils')
+const {getElementType} = require('../utils/get-element-type')
+
+module.exports = {
+ meta: {
+ docs: {
+ description: 'svg must have an accessible name',
+ url: require('../url')(module),
+ },
+ schema: [],
+ },
+
+ create(context) {
+ return {
+ JSXOpeningElement: node => {
+ const elementType = getElementType(context, node)
+
+ // Check if there is a nested title element that is the first child of the `