diff --git a/src/routes/_components/status/Notification.html b/src/routes/_components/status/Notification.html
index b9f8be91..1a240587 100644
--- a/src/routes/_components/status/Notification.html
+++ b/src/routes/_components/status/Notification.html
@@ -10,6 +10,9 @@
aria-label={ariaLabel}
focus-key={focusKey}
shortcut-key={shortcutScope}
+ on:focus="onFocus()"
+ on:blur="onBlur()"
+ ref:article
>
@@ -27,8 +30,7 @@
border-bottom: 1px solid var(--main-border);
}
.notification-article:focus {
- background-color: var(--status-active-background);
- outline: none;
+ outline: none; /* focus is on the parent instead */
}
@media (max-width: 767px) {
.notification-article {
@@ -84,6 +86,13 @@
async mentionAuthor () {
let { account } = this.get()
await composeNewStatusMentioning(account)
+ },
+ // apply focus styles to parent rather than article because it shows up better
+ onFocus () {
+ this.refs.article.parentElement.classList.toggle('focus', true)
+ },
+ onBlur () {
+ this.refs.article.parentElement.classList.toggle('focus', false)
}
}
}
diff --git a/src/routes/_components/status/Status.html b/src/routes/_components/status/Status.html
index dbf90575..7a44f7a9 100644
--- a/src/routes/_components/status/Status.html
+++ b/src/routes/_components/status/Status.html
@@ -6,7 +6,11 @@
aria-posinset={index}
aria-setsize={length}
aria-label={ariaLabel}
- on:recalculateHeight>
+ on:recalculateHeight
+ on:focus="onFocus()"
+ on:blur="onBlur()"
+ ref:article
+>
{#if showHeader}
{/if}
@@ -76,8 +80,7 @@
}
.status-article:focus {
- background-color: var(--status-active-background);
- outline: none;
+ outline: none; /* focus is on the parent instead */
}
.status-article.status-in-own-thread {
@@ -213,6 +216,13 @@
async mentionAuthor () {
let { accountForShortcut } = this.get()
await composeNewStatusMentioning(accountForShortcut)
+ },
+ // apply focus styles to parent rather than article because it shows up better
+ onFocus () {
+ this.refs.article.parentElement.classList.toggle('focus', true)
+ },
+ onBlur () {
+ this.refs.article.parentElement.classList.toggle('focus', false)
}
},
computed: {
diff --git a/src/scss/global.scss b/src/scss/global.scss
index cec825a5..21210014 100644
--- a/src/scss/global.scss
+++ b/src/scss/global.scss
@@ -173,7 +173,7 @@ ul, li, p {
opacity: 0;
}
-*:focus {
+*:focus, .focus {
outline: 2px solid var(--focus-outline);
}
diff --git a/src/scss/themes/_base.scss b/src/scss/themes/_base.scss
index c56dee63..178fc2ae 100644
--- a/src/scss/themes/_base.scss
+++ b/src/scss/themes/_base.scss
@@ -82,7 +82,6 @@
--very-deemphasized-text-color: #{rgba(#666, 0.6)};
--status-direct-background: #{darken($body-bg-color, 5%)};
- --status-active-background: #{lighten($body-bg-color, 2%)};
--main-theme-color: #{$main-theme-color};
--warning-color: #{#e01f19};
--alt-input-bg: #{rgba($main-bg-color, 0.7)};
diff --git a/src/scss/themes/_dark.scss b/src/scss/themes/_dark.scss
index de80da3c..8612e058 100644
--- a/src/scss/themes/_dark.scss
+++ b/src/scss/themes/_dark.scss
@@ -16,7 +16,6 @@
--very-deemphasized-text-color: #{lighten($main-bg-color, 32%)};
--status-direct-background: #{darken($body-bg-color, 5%)};
- --status-active-background: #{lighten($body-bg-color, 10%)};
--main-theme-color: #{$main-theme-color};
--warning-color: #{#c7423d};
--alt-input-bg: #{rgba($main-bg-color, 0.7)};