Feat/BOOK-117 svg accessibility

* feat(BOOK-117): Added aria-label to Scandic Friends levels
* feat(BOOK-117): Added aria-label to hotel logos
* feat(BOOK-117): Added alt text to app download images
* feat(BOOK-117): Added same logo component to footer as the one in the header
* feat(BOOK-117): Added aria attributes to icons similar to how we handled MaterialIcon aria attributes

Approved-by: Bianca Widstam
Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-11-13 06:34:18 +00:00
parent c4b564998c
commit ce469bc4b4
117 changed files with 541 additions and 247 deletions

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function DowntownCamperIcon({
className = '',
'aria-label': ariaLabel,
height = 30,
width = 123,
...props
@@ -14,6 +15,8 @@ export default function DowntownCamperIcon({
viewBox="0 0 123 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Downtown Camper'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function GrandHotelOsloLogoIcon({
className = '',
'aria-label': ariaLabel,
height = 30,
width = 69,
...props
@@ -14,6 +15,8 @@ export default function GrandHotelOsloLogoIcon({
viewBox="0 0 69 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Grand Hotel Oslo'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function HaymarketIcon({
className = '',
'aria-label': ariaLabel,
height = 26,
width = 100,
...props
@@ -14,6 +15,8 @@ export default function HaymarketIcon({
viewBox="0 0 100 26"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Haymarket'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function HotelNorgeIcon({
className = '',
'aria-label': ariaLabel,
height = 24,
width = 117,
...props
@@ -14,6 +15,8 @@ export default function HotelNorgeIcon({
viewBox="0 0 117 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Hotel Norge'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function MarskiLogoIcon({
className = '',
'aria-label': ariaLabel,
height = 30,
width = 92,
...props
@@ -14,6 +15,8 @@ export default function MarskiLogoIcon({
viewBox="0 0 92 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Marski'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function ScandicGoLogoIcon({
className = '',
'aria-label': ariaLabel,
height = 18,
width = 90,
...props
@@ -14,6 +15,8 @@ export default function ScandicGoLogoIcon({
viewBox="0 0 90 18"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Scandic Go'}
{...props}
>
<path

View File

@@ -5,6 +5,7 @@ import styles from './logo.module.css'
export default function ScandicLogoIcon({
className = '',
'aria-label': ariaLabel,
height = 14,
width = 58,
...props
@@ -17,6 +18,8 @@ export default function ScandicLogoIcon({
viewBox="0 0 132 28"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'Scandic'}
{...props}
>
<path

View File

@@ -2,6 +2,7 @@ import type { LogoProps } from '../icon'
export default function TheDockIcon({
className = '',
'aria-label': ariaLabel,
height = 30,
width = 128,
...props
@@ -14,6 +15,8 @@ export default function TheDockIcon({
viewBox="0 0 128 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
// eslint-disable-next-line formatjs/no-literal-string-in-jsx
aria-label={ariaLabel ?? 'The Dock'}
{...props}
>
<path