From f064c39d5ff01a4e2aba71a3d3662c7300aba025 Mon Sep 17 00:00:00 2001
From: Nguyen Tran <88808276+ngtr6788@users.noreply.github.com>
Date: Wed, 26 Apr 2023 03:18:22 -0400
Subject: [PATCH] fix: relax no-redundant-roles implementation (#8536)
Deals with the no-redundant-roles part of #8529
There was an erroneous check which compares the element name with the current role. This fix brings no-redundant-roles closer to the original eslint-jsx implementation
---
src/compiler/compile/nodes/Element.ts | 7 ++++---
.../validator/samples/a11y-no-redundant-roles/input.svelte | 6 +++++-
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/compiler/compile/nodes/Element.ts b/src/compiler/compile/nodes/Element.ts
index 2410904d63..44d84f7566 100644
--- a/src/compiler/compile/nodes/Element.ts
+++ b/src/compiler/compile/nodes/Element.ts
@@ -121,6 +121,7 @@ const a11y_implicit_semantics = new Map([
['details', 'group'],
['dt', 'term'],
['fieldset', 'group'],
+ ['figure', 'figure'],
['form', 'form'],
['h1', 'heading'],
['h2', 'heading'],
@@ -132,6 +133,7 @@ const a11y_implicit_semantics = new Map([
['img', 'img'],
['li', 'listitem'],
['link', 'link'],
+ ['main', 'main'],
['menu', 'list'],
['meter', 'progressbar'],
['nav', 'navigation'],
@@ -142,6 +144,7 @@ const a11y_implicit_semantics = new Map([
['progress', 'progressbar'],
['section', 'region'],
['summary', 'button'],
+ ['table', 'table'],
['tbody', 'rowgroup'],
['textarea', 'textbox'],
['tfoot', 'rowgroup'],
@@ -631,9 +634,7 @@ export default class Element extends Node {
}
// no-redundant-roles
- const has_redundant_role = current_role === get_implicit_role(this.name, attribute_map);
-
- if (this.name === current_role || has_redundant_role) {
+ if (current_role === get_implicit_role(this.name, attribute_map)) {
component.warn(attribute, compiler_warnings.a11y_no_redundant_roles(current_role));
}
diff --git a/test/validator/samples/a11y-no-redundant-roles/input.svelte b/test/validator/samples/a11y-no-redundant-roles/input.svelte
index 05525effb6..537d5c0fd3 100644
--- a/test/validator/samples/a11y-no-redundant-roles/input.svelte
+++ b/test/validator/samples/a11y-no-redundant-roles/input.svelte
@@ -41,4 +41,8 @@