Skip to content

Commit 741f1e6

Browse files
author
Iryna Vasylenko
committed
Fix build
1 parent 07398b5 commit 741f1e6

File tree

4 files changed

+51
-55
lines changed

4 files changed

+51
-55
lines changed

lib/index.ts

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,43 +13,6 @@ import * as rules from "./rules";
1313

1414
// import all rules in lib/rules
1515
module.exports = {
16-
rules: {
17-
"accordion-header-needs-labelling": rules.accordionHeaderNeedsLabelling,
18-
"accordion-item-needs-header-and-panel": rules.accordionItemNeedsHeaderAndPanel,
19-
"avatar-needs-name": rules.avatarNeedsName,
20-
"avoid-using-aria-describedby-for-primary-labelling": rules.avoidUsingAriaDescribedByForPrimaryLabelling,
21-
"badge-needs-accessible-name": rules.badgeNeedsAccessibleName,
22-
"breadcrumb-needs-labelling": rules.breadcrumbNeedsLabelling,
23-
"checkbox-needs-labelling": rules.checkboxNeedsLabelling,
24-
"combobox-needs-labelling": rules.comboboxNeedsLabelling,
25-
"compound-button-needs-labelling": rules.compoundButtonNeedsLabelling,
26-
"counter-badge-needs-count": rules.counterBadgeNeedsCount,
27-
"dialogbody-needs-title-content-and-actions": rules.dialogbodyNeedsTitleContentAndActions,
28-
"dialogsurface-needs-aria": rules.dialogsurfaceNeedsAria,
29-
"dropdown-needs-labelling": rules.dropdownNeedsLabelling,
30-
"field-needs-labelling": rules.fieldNeedsLabelling,
31-
"image-button-missing-aria": rules.imageButtonMissingAria,
32-
"input-components-require-accessible-name": rules.inputComponentsRequireAccessibleName,
33-
"link-missing-labelling": rules.linkMissingLabelling,
34-
"menu-item-needs-labelling": rules.menuItemNeedsLabelling,
35-
"no-empty-buttons": rules.noEmptyButtons,
36-
"no-empty-components": rules.noEmptyComponents,
37-
"prefer-aria-over-title-attribute": rules.preferAriaOverTitleAttribute,
38-
"progressbar-needs-labelling": rules.progressbarNeedsLabelling,
39-
"radio-button-missing-label": rules.radioButtonMissingLabel,
40-
"radiogroup-missing-label": rules.radiogroupMissingLabel,
41-
"rating-needs-name": rules.ratingNeedsName,
42-
"spin-button-needs-labelling": rules.spinButtonNeedsLabelling,
43-
"spin-button-unrecommended-labelling": rules.spinButtonUnrecommendedLabelling,
44-
"spinner-needs-labelling": rules.spinnerNeedsLabelling,
45-
"switch-needs-labelling": rules.switchNeedsLabelling,
46-
"tablist-and-tabs-need-labelling": rules.tablistAndTabsNeedLabelling,
47-
"tag-dismissible-needs-labelling": rules.tagDismissibleNeedsLabelling,
48-
"tag-needs-name": rules.tagNeedsName,
49-
"toolbar-missing-aria": rules.toolbarMissingAria,
50-
"tooltip-not-recommended": rules.tooltipNotRecommended,
51-
"visual-label-better-than-aria-suggestion": rules.visualLabelBetterThanAriaSuggestion
52-
},
5316
configs: {
5417
recommended: {
5518
rules: {
@@ -90,10 +53,47 @@ module.exports = {
9053
"@microsoft/fluentui-jsx-a11y/visual-label-better-than-aria-suggestion": "warn"
9154
}
9255
}
56+
},
57+
rules: {
58+
"accordion-header-needs-labelling": rules.accordionHeaderNeedsLabelling,
59+
"accordion-item-needs-header-and-panel": rules.accordionItemNeedsHeaderAndPanel,
60+
"avatar-needs-name": rules.avatarNeedsName,
61+
"avoid-using-aria-describedby-for-primary-labelling": rules.avoidUsingAriaDescribedByForPrimaryLabelling,
62+
"badge-needs-accessible-name": rules.badgeNeedsAccessibleName,
63+
"breadcrumb-needs-labelling": rules.breadcrumbNeedsLabelling,
64+
"checkbox-needs-labelling": rules.checkboxNeedsLabelling,
65+
"combobox-needs-labelling": rules.comboboxNeedsLabelling,
66+
"compound-button-needs-labelling": rules.compoundButtonNeedsLabelling,
67+
"counter-badge-needs-count": rules.counterBadgeNeedsCount,
68+
"dialogbody-needs-title-content-and-actions": rules.dialogbodyNeedsTitleContentAndActions,
69+
"dialogsurface-needs-aria": rules.dialogsurfaceNeedsAria,
70+
"dropdown-needs-labelling": rules.dropdownNeedsLabelling,
71+
"field-needs-labelling": rules.fieldNeedsLabelling,
72+
"image-button-missing-aria": rules.imageButtonMissingAria,
73+
"input-components-require-accessible-name": rules.inputComponentsRequireAccessibleName,
74+
"link-missing-labelling": rules.linkMissingLabelling,
75+
"menu-item-needs-labelling": rules.menuItemNeedsLabelling,
76+
"no-empty-buttons": rules.noEmptyButtons,
77+
"no-empty-components": rules.noEmptyComponents,
78+
"prefer-aria-over-title-attribute": rules.preferAriaOverTitleAttribute,
79+
"progressbar-needs-labelling": rules.progressbarNeedsLabelling,
80+
"radio-button-missing-label": rules.radioButtonMissingLabel,
81+
"radiogroup-missing-label": rules.radiogroupMissingLabel,
82+
"rating-needs-name": rules.ratingNeedsName,
83+
"spin-button-needs-labelling": rules.spinButtonNeedsLabelling,
84+
"spin-button-unrecommended-labelling": rules.spinButtonUnrecommendedLabelling,
85+
"spinner-needs-labelling": rules.spinnerNeedsLabelling,
86+
"switch-needs-labelling": rules.switchNeedsLabelling,
87+
"tablist-and-tabs-need-labelling": rules.tablistAndTabsNeedLabelling,
88+
"tag-dismissible-needs-labelling": rules.tagDismissibleNeedsLabelling,
89+
"tag-needs-name": rules.tagNeedsName,
90+
"toolbar-missing-aria": rules.toolbarMissingAria,
91+
"tooltip-not-recommended": rules.tooltipNotRecommended,
92+
"visual-label-better-than-aria-suggestion": rules.visualLabelBetterThanAriaSuggestion
9393
}
9494
};
9595

9696
// import processors
9797
module.exports.processors = {
9898
// add your processors here
99-
};
99+
};

lib/rules/tag-dismissible-needs-labelling.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,14 @@ const rule = ESLintUtils.RuleCreator.withoutDocs({
3232
meta: {
3333
type: "problem",
3434
docs: {
35-
description:
36-
"This rule aims to ensure that dismissible Tag components have an aria-label on the dismiss button",
35+
description: "This rule aims to ensure that dismissible Tag components have an aria-label on the dismiss button",
3736
recommended: false
3837
},
3938
fixable: undefined,
4039
schema: [],
4140
messages: {
4241
missingDismissLabel: "Accessibility: Dismissible Tag must have dismissIcon with aria-label"
43-
},
42+
}
4443
},
4544
create(context) {
4645
return {
@@ -61,7 +60,6 @@ const rule = ESLintUtils.RuleCreator.withoutDocs({
6160

6261
// Check if dismissible Tag has dismissIcon with aria-label
6362
const dismissIconProp = getProp(openingElement.attributes as JSXAttribute[], "dismissIcon");
64-
6563
if (!dismissIconProp) {
6664
context.report({
6765
node,
@@ -72,7 +70,6 @@ const rule = ESLintUtils.RuleCreator.withoutDocs({
7270

7371
// Get the dismissIcon value and check if it has valid aria-label
7472
const dismissIconValue = getPropValue(dismissIconProp);
75-
7673
if (!hasNonEmptyObjectProperty(dismissIconValue, "aria-label")) {
7774
context.report({
7875
node,

tests/lib/rules/tag-dismissible-needs-labelling.test.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ ruleTester.run("tag-dismissible-needs-labelling", rule as unknown as Rule.RuleMo
1616
valid: [
1717
// Valid cases for dismissible Tag component
1818
// Non-dismissible tags should be ignored
19-
"<Tag>Regular tag</Tag>",
20-
'<Tag icon={<SettingsIcon />}>Tag with icon</Tag>',
21-
19+
"<Tag>Regular·tag</Tag>",
20+
"<Tag·icon={<SettingsIcon·/>}>Tag·with·icon</Tag>",
2221
// Dismissible tags with proper labelling
2322
'<Tag dismissible dismissIcon={{ "aria-label": "remove" }}>Dismissible tag</Tag>',
2423
'<Tag dismissible dismissIcon={{ "aria-label": "close" }} icon={<CalendarMonthRegular />}>Tag with icon</Tag>'
@@ -27,11 +26,11 @@ ruleTester.run("tag-dismissible-needs-labelling", rule as unknown as Rule.RuleMo
2726
invalid: [
2827
// Invalid cases for dismissible Tag component
2928
{
30-
code: '<Tag dismissible>Dismissible tag</Tag>',
29+
code: "<Tag·dismissible>Dismissible·tag</Tag>",
3130
errors: [{ messageId: "missingDismissLabel" }]
3231
},
3332
{
34-
code: '<Tag dismissible dismissIcon={{}}>Dismissible tag</Tag>',
33+
code: "<Tag·dismissible·dismissIcon={{}}>Dismissible·tag</Tag>",
3534
errors: [{ messageId: "missingDismissLabel" }]
3635
},
3736
{

tests/lib/rules/tag-needs-name.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ ruleTester.run("tag-needs-name", rule as unknown as Rule.RuleModule, {
1818
// Valid cases for Tag component
1919
"<Tag>Tag with some text</Tag>",
2020
"<Tag>Some text</Tag>",
21-
'<Tag aria-label="Accessible tag name"></Tag>',
22-
'<Tag aria-label="Tag label">Some text</Tag>',
23-
'<Tag icon={<SettingsIcon />}>Tag with icon and text</Tag>',
24-
'<Tag icon={<SettingsIcon />} aria-label="Settings tag"></Tag>'
21+
'<Tag·aria-label="Accessible·tag·name"></Tag>',
22+
'<Tag·aria-label="Tag·label">Some·text</Tag>',
23+
"<Tag icon={<SettingsIcon />}>Tag with icon and text</Tag>",
24+
'<Tag·icon={<SettingsIcon·/>}·aria-label="Settings·tag"></Tag>'
2525
],
2626

2727
invalid: [
@@ -35,15 +35,15 @@ ruleTester.run("tag-needs-name", rule as unknown as Rule.RuleModule, {
3535
errors: [{ messageId: "missingAriaLabel" }]
3636
},
3737
{
38-
code: '<Tag aria-label=""></Tag>',
38+
code: '<Tag·aria-label=""·></Tag>',
3939
errors: [{ messageId: "missingAriaLabel" }]
4040
},
4141
{
42-
code: '<Tag icon={<SettingsIcon />}></Tag>',
42+
code: "<Tag icon={<SettingsIcon />}></Tag>",
4343
errors: [{ messageId: "missingAriaLabel" }]
4444
},
4545
{
46-
code: '<Tag icon={<SettingsIcon />} />',
46+
code: "<Tag icon={<SettingsIcon />} />",
4747
errors: [{ messageId: "missingAriaLabel" }]
4848
}
4949
]

0 commit comments

Comments
 (0)