diff --git a/docs/changelog.md b/docs/changelog.md index 1fbcf4e71..7b904d25f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -14,6 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Fixed `six-checkbox` checkbox-input being distorted with multiline content/text - Fixed `six-sidebar-item-group` to wrap the sidebar text if it gets too long +- Updated the `six-language-switcher` component to include tabindex attributes for better + accessibility. ## 4.2.1 - 2024-03-14 diff --git a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.scss b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.scss index 24784c01e..2d133122d 100644 --- a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.scss +++ b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.scss @@ -14,6 +14,11 @@ color: var(--six-color-web-rock-600); } + &:focus-visible { + outline: var(--six-focus-ring); + outline-offset: var(--six-focus-ring-offset); + } + &--selected { color: var(--six-color-black); text-decoration: underline; diff --git a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.tsx b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.tsx index 0d8055ee9..783ed91ef 100644 --- a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.tsx +++ b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.tsx @@ -77,9 +77,17 @@ export class SixLanguageSwitcher { {this.languages.map((lang, index) => { const language = typeof lang === 'string' ? lang : lang.key; return ( -
+
{ + if (e.key === 'Enter' || e.key === ' ') { + this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)(); + } + }} + > {language} + {index < this.languages.length - 1 && ( | diff --git a/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx b/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx index 9eed5c8c1..b86e734ba 100644 --- a/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx +++ b/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx @@ -19,7 +19,7 @@ describe('SIX Language Switcher', () => {
- + EN @@ -27,7 +27,7 @@ describe('SIX Language Switcher', () => {
- + DE @@ -35,7 +35,7 @@ describe('SIX Language Switcher', () => {
- + ES
@@ -66,7 +66,7 @@ describe('SIX Language Switcher', () => {
- + IT @@ -74,7 +74,7 @@ describe('SIX Language Switcher', () => {
- + AR @@ -82,7 +82,7 @@ describe('SIX Language Switcher', () => {
- + BG
@@ -109,7 +109,7 @@ describe('SIX Language Switcher', () => {
- + EN @@ -117,7 +117,7 @@ describe('SIX Language Switcher', () => {
- + DE @@ -125,7 +125,7 @@ describe('SIX Language Switcher', () => {
- + ES
@@ -156,7 +156,7 @@ describe('SIX Language Switcher', () => {
- + EN @@ -164,7 +164,7 @@ describe('SIX Language Switcher', () => {
- + DE @@ -172,7 +172,7 @@ describe('SIX Language Switcher', () => {
- + ES