Skip to content

Commit

Permalink
Fix accessibility issues (#175)
Browse files Browse the repository at this point in the history
* fix accessibility issues

* prettier

* missed bracket

* comma

* keep class and id

* prettier
  • Loading branch information
kate-kazantseva authored Sep 26, 2024
1 parent 59bce34 commit e79952d
Show file tree
Hide file tree
Showing 13 changed files with 90 additions and 118 deletions.
11 changes: 4 additions & 7 deletions src/components/AcceptAllOrMoreChoices.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export function AcceptAllOrMoreChoices({
};

return (
<div className="column-content" role="none">
<div className="column-content">
<div>
<div>
<p
Expand All @@ -51,19 +51,16 @@ export function AcceptAllOrMoreChoices({
</p>
</div>
<div>
<p className="paragraph"
<p
className="paragraph"
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: formatMessage(messages.acceptAllDescription),
}}
/>
</div>
</div>
<div
className="accept-or-reject-all-button-row"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<div className="accept-or-reject-all-button-row">
<Button
primaryText={formatMessage(messages.acceptAllButtonPrimary)}
handleClick={handleAcceptAll}
Expand Down
11 changes: 4 additions & 7 deletions src/components/AcceptOrRejectAdvertising.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export function AcceptOrRejectAdvertising({
const { formatMessage } = useIntl();

return (
<div className="column-content" role="none">
<div className="column-content">
<div>
<div>
<p
Expand All @@ -31,7 +31,8 @@ export function AcceptOrRejectAdvertising({
</p>
</div>
<div>
<p className="paragraph"
<p
className="paragraph"
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: formatMessage(
Expand All @@ -41,11 +42,7 @@ export function AcceptOrRejectAdvertising({
/>
</div>
</div>
<div
className="accept-or-reject-all-button-row"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<div className="accept-or-reject-all-button-row">
<Button
primaryText={formatMessage(messages.acceptAdvertising)}
handleClick={(event) => {
Expand Down
11 changes: 4 additions & 7 deletions src/components/AcceptOrRejectAll.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export function AcceptOrRejectAll({
};

return (
<div className="column-content" role="none">
<div className="column-content">
<div>
<div>
<p
Expand All @@ -52,19 +52,16 @@ export function AcceptOrRejectAll({
</p>
</div>
<div>
<p className="paragraph"
<p
className="paragraph"
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: formatMessage(messages.acceptAllDescription),
}}
/>
</div>
</div>
<div
className="accept-or-reject-all-button-row"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<div className="accept-or-reject-all-button-row">
<Button
primaryText={formatMessage(messages.acceptAllButtonPrimary)}
handleClick={handleAcceptAll}
Expand Down
11 changes: 4 additions & 7 deletions src/components/AcceptOrRejectAllOrMoreChoices.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export function AcceptOrRejectAllOrMoreChoices({
};

return (
<div className="column-content" role="none">
<div className="column-content">
<div>
<div>
<p
Expand All @@ -62,19 +62,16 @@ export function AcceptOrRejectAllOrMoreChoices({
</p>
</div>
<div>
<p className="paragraph"
<p
className="paragraph"
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: formatMessage(messages.acceptAllDescription),
}}
/>
</div>
</div>
<div
className="accept-or-reject-all-button-row"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<div className="accept-or-reject-all-button-row">
<Button
primaryText={formatMessage(messages.acceptAllButtonPrimary)}
handleClick={handleAcceptAll}
Expand Down
11 changes: 4 additions & 7 deletions src/components/AcceptOrRejectAnalytics.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export function AcceptOrRejectAnalytics({
const { formatMessage } = useIntl();

return (
<div className="column-content" role="none">
<div className="column-content">
<div>
<div>
<p
Expand All @@ -31,7 +31,8 @@ export function AcceptOrRejectAnalytics({
</p>
</div>
<div>
<p className="paragraph"
<p
className="paragraph"
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: formatMessage(
Expand All @@ -41,11 +42,7 @@ export function AcceptOrRejectAnalytics({
/>
</div>
</div>
<div
className="accept-or-reject-all-button-row"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<div className="accept-or-reject-all-button-row">
<Button
primaryText={formatMessage(messages.acceptAnalytics)}
handleClick={(event) => {
Expand Down
117 changes: 60 additions & 57 deletions src/components/CompleteOptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,67 +68,70 @@ export function CompleteOptions({

return (
<div className="complete-options-container" role="none">
<p
role="heading"
id="consent-dialog-title"
className="text-title text-title-center"
>
{formatMessage(messages.consentTitle)}
</p>
<form className="complete-options-form">
<GPCIndicator />
{description && description !== '-' ? (
<p className="paragraph">
<div
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: description,
<fieldset>
<legend
id="consent-dialog-title"
className="text-title text-title-center"
>
{formatMessage(messages.consentTitle)}
</legend>
<form className="complete-options-form">
<GPCIndicator />
{description && description !== '-' ? (
<p className="paragraph">
<div
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: description,
}}
/>
</p>
) : undefined}

<div
className="toggles-container"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<Toggle
key="Essential"
name={formatMessage(purposeToMessageKey.Essential)}
initialToggleState
disabled
handleToggle={() => {
// noop
}}
ariaLabel={formatMessage(
completeOptionsMessages.essentialAriaLabel,
)}
/>
</p>
) : undefined}

<div
className="toggles-container"
role="group"
aria-label={formatMessage(messages.buttonGroupAriaDescription)}
>
<Toggle
key="Essential"
name={formatMessage(purposeToMessageKey.Essential)}
initialToggleState
disabled
handleToggle={() => {
// noop
}}
ariaLabel={formatMessage(
completeOptionsMessages.essentialAriaLabel,
{orderedSelections.map(([purpose, isChecked], idx) => (
<Toggle
key={purpose}
name={
Object.hasOwnProperty.call(purposeToMessageKey, purpose)
? formatMessage(purposeToMessageKey[purpose])
: purpose
}
initialToggleState={isChecked}
disabled={false}
handleToggle={(checked: boolean) =>
handleToggle(purpose, checked)
}
{...(idx === 0 ? { initialFocus: true } : {})}
/>
))}
</div>
<Button
handleClick={handleSave}
primaryText={formatMessage(
completeOptionsMessages.saveButtonPrimary,
)}
type="submit"
{...(orderedSelections.length === 0 ? { initialFocus: true } : {})}
/>
{orderedSelections.map(([purpose, isChecked], idx) => (
<Toggle
key={purpose}
name={
Object.hasOwnProperty.call(purposeToMessageKey, purpose)
? formatMessage(purposeToMessageKey[purpose])
: purpose
}
initialToggleState={isChecked}
disabled={false}
handleToggle={(checked: boolean) =>
handleToggle(purpose, checked)
}
{...(idx === 0 ? { initialFocus: true } : {})}
/>
))}
</div>
<Button
handleClick={handleSave}
primaryText={formatMessage(completeOptionsMessages.saveButtonPrimary)}
type="submit"
{...(orderedSelections.length === 0 ? { initialFocus: true } : {})}
/>
</form>
</form>
</fieldset>
</div>
);
}
14 changes: 4 additions & 10 deletions src/components/Main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -87,20 +87,14 @@ export function Main({
}
return (
<div
role="dialog"
aria-modal="true"
role="regions"
aria-label={formatMessage(messages.modalAriaLabel)}
aria-live="polite"
className="modal-container"
id="consentManagerMainDialog"
ref={dialogRef}
>
<div role="document" className="modal-container-inner">
<div
role="main"
className="inner-container"
aria-description={formatMessage(messages.modalAriaDescription)}
>
<div className="modal-container-inner">
<div className="inner-container">
{viewState === 'QuickOptions' && (
<QuickOptions handleSetViewState={handleSetViewState} />
)}
Expand Down Expand Up @@ -206,7 +200,7 @@ export function Main({
/>
)}
</div>
<div role="contentinfo" className="footer-container">
<div className="footer-container">
<TranscendLogo fontColor={config.theme.fontColor} />
<BottomMenu
firstSelectedViewState={firstSelectedViewState}
Expand Down
2 changes: 1 addition & 1 deletion src/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ export const messages = defineMessages('ui.src.messages', {
'The description text for the CompleteOptionsToggles view state.',
},
modalAriaLabel: {
defaultMessage: 'User data usage dialog',
defaultMessage: 'cookie consent banner',
description:
'The aria label used by screen readers for the modal. This is read when the modal is opened and focused.',
},
Expand Down
4 changes: 1 addition & 3 deletions src/tests/__snapshots__/AcceptAllOrMoreChoices.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`AcceptAllOrMoreChoices matches snapshot 1`] = `
"<div>
<div class="column-content" role="none">
<div class="column-content">
<div>
<div>
<p
Expand All @@ -22,8 +22,6 @@ exports[`AcceptAllOrMoreChoices matches snapshot 1`] = `
</div>
<div
class="accept-or-reject-all-button-row"
role="group"
aria-label="Select consent and close dialog"
>
<button class="button">
<span class="button-base-text button-primary-text"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`AcceptOrRejectAdvertising matches snapshot 1`] = `
"<div>
<div class="column-content" role="none">
<div class="column-content">
<div>
<div>
<p
Expand All @@ -22,8 +22,6 @@ exports[`AcceptOrRejectAdvertising matches snapshot 1`] = `
</div>
<div
class="accept-or-reject-all-button-row"
role="group"
aria-label="Select consent and close dialog"
>
<button class="button">
<span class="button-base-text button-primary-text">Okay</span></button
Expand Down
4 changes: 1 addition & 3 deletions src/tests/__snapshots__/AcceptOrRejectAll.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`AcceptOrRejectAll matches snapshot 1`] = `
"<div>
<div class="column-content" role="none">
<div class="column-content">
<div>
<div>
<p
Expand All @@ -22,8 +22,6 @@ exports[`AcceptOrRejectAll matches snapshot 1`] = `
</div>
<div
class="accept-or-reject-all-button-row"
role="group"
aria-label="Select consent and close dialog"
>
<button class="button">
<span class="button-base-text button-primary-text"
Expand Down
Loading

0 comments on commit e79952d

Please sign in to comment.