Skip to content

Commit

Permalink
fix(a11y): set role button for term
Browse files Browse the repository at this point in the history
linter
  • Loading branch information
martyanovandrey committed Sep 2, 2024
1 parent b9be4a2 commit 0467211
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
5 changes: 3 additions & 2 deletions src/js/term/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,13 @@ export function setDefinitionId(definitionElement: HTMLElement, termElement: HTM
definitionElement?.setAttribute('term-id', termId);
}

export function setDefinitonAriaLive(
export function setDefinitonAriaAttributes(
definitionElement: HTMLElement,
termElement: HTMLElement,
): void {
const ariaLive = termElement.getAttribute('aria-live') || 'polite';
definitionElement?.setAttribute('aria-live', ariaLive);
definitionElement?.setAttribute('aria-modal', 'true');
}

export function setDefinitionPosition(
Expand Down Expand Up @@ -167,7 +168,7 @@ export function openDefinition(target: HTMLElement) {
}

setDefinitionId(definitionElement, target);
setDefinitonAriaLive(definitionElement, target);
setDefinitonAriaAttributes(definitionElement, target);
setDefinitionPosition(definitionElement, target);

definitionElement.classList.toggle(openClass);
Expand Down
6 changes: 5 additions & 1 deletion src/transform/plugins/anchors/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,11 @@ const index: MarkdownItPluginCb<Options> = (md, options) => {
}

md.renderer.rules.anchor_hidden_desc = function (tokens, index) {
return '<span class="visually-hidden" data-no-index="true">' + escapeHtml(tokens[index].content) + '</span>';
return (
'<span class="visually-hidden" data-no-index="true">' +
escapeHtml(tokens[index].content) +
'</span>'
);
};
};

Expand Down
2 changes: 1 addition & 1 deletion src/transform/plugins/term/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ const term: MarkdownItPluginCb = (md, options) => {
token = new state.Token('term_open', 'i', 1);
token.attrSet('class', 'yfm yfm-term_title');
token.attrSet('term-key', ':' + termKey);
token.attrSet('role', 'term');
token.attrSet('role', 'button');
token.attrSet('aria-describedby', ':' + termKey + '_element');
token.attrSet('tabindex', '0');
token.attrSet('id', generateID());
Expand Down
3 changes: 2 additions & 1 deletion src/transform/plugins/term/termDefinitions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,9 @@ function processTermDefinition(
token = new state.Token('dfn_open', 'dfn', 1);
token.attrSet('class', 'yfm yfm-term_dfn');
token.attrSet('id', ':' + label + '_element');
token.attrSet('role', 'tooltip');
token.attrSet('role', 'dialog');
token.attrSet('aria-live', 'polite');
token.attrSet('aria-modal', 'true');

state.tokens.push(token);

Expand Down

0 comments on commit 0467211

Please sign in to comment.