From c08dcc17835728b4195a0ad3258c9c26a2808785 Mon Sep 17 00:00:00 2001 From: Michal Szorad Date: Mon, 11 Aug 2025 13:58:01 +0200 Subject: [PATCH 1/8] fix: fix focus --- src/components/AuthLogin/styles.module.scss | 7 +- src/components/Card.module.scss | 7 + src/components/Card.tsx | 10 +- src/components/Input/input.module.scss | 8 +- .../InteractiveBox/styles.module.scss | 14 +- .../buttons/button/button.module.scss | 7 + .../elements/buttons/button/index.tsx | 2 +- src/scss/app.scss | 1 + src/scss/commons/_focus.scss | 145 ++++++++++++++++++ src/scss/commons/_reset.scss | 7 - src/scss/elements/_form.scss | 9 +- src/scss/theme/_interactive-box.scss | 13 ++ 12 files changed, 214 insertions(+), 16 deletions(-) create mode 100644 src/scss/commons/_focus.scss diff --git a/src/components/AuthLogin/styles.module.scss b/src/components/AuthLogin/styles.module.scss index 346ebfcfccf..29cf085b74e 100644 --- a/src/components/AuthLogin/styles.module.scss +++ b/src/components/AuthLogin/styles.module.scss @@ -21,8 +21,13 @@ top: 50%; transform: translate(-50%, -50%); overflow: auto; - outline: none; background: var(--modal-bg-color-primary); + + /* Enhanced focus styles for modal accessibility */ + &:focus-visible { + outline: 2px solid var(--focus-outline-color-light); + outline-offset: 2px; + } width: 60%; padding: 1.4rem; border-radius: 1rem; diff --git a/src/components/Card.module.scss b/src/components/Card.module.scss index 4f9e9fbd7b7..11ae16d9119 100644 --- a/src/components/Card.module.scss +++ b/src/components/Card.module.scss @@ -76,6 +76,13 @@ opacity: 1; } } + + border: 2px solid transparent; + + &:focus { + border: 2px solid var(--focus-outline-color-light); + outline: none; + } } .shape { diff --git a/src/components/Card.tsx b/src/components/Card.tsx index 26845a4d69e..96785880074 100644 --- a/src/components/Card.tsx +++ b/src/components/Card.tsx @@ -18,7 +18,13 @@ export type CardItem = { buttonIcon?: 'arrow-right' | 'external-arrow' } -export default function Card({ title, href, description, theme, buttonIcon = "arrow-right" }: CardItem) { +export default function Card({ + title, + href, + description, + theme, + buttonIcon = 'arrow-right', +}: CardItem) { const [isHovered, setIsHovered] = useState(false) return ( @@ -47,7 +53,7 @@ export default function Card({ title, href, description, theme, buttonIcon = "ar {href && (