diff --git a/src/app.css b/src/app.css index 7013621d..f18f4d5f 100644 --- a/src/app.css +++ b/src/app.css @@ -341,7 +341,7 @@ a.mention span { transition: background-color 0.2s ease-out; -webkit-tap-highlight-color: transparent; } -.status-link:hover { +.status-link:is(:hover, :focus) { background-color: var(--link-bg-hover-color); } @@ -393,7 +393,7 @@ a.mention span { .deck-close { color: var(--text-insignificant-color) !important; } -.deck-close:hover { +.deck-close:is(:hover, :focus) { color: var(--text-color) !important; } @@ -534,8 +534,7 @@ button.carousel-dot { font-weight: bold; backdrop-filter: none !important; } -button.carousel-dot:hover, -button.carousel-dot.active, +button.carousel-dot:is(:hover, :focus) button.carousel-dot.active, button.carousel-dot[disabled].active { color: var(--link-color) !important; } @@ -696,7 +695,7 @@ button.carousel-dot[disabled].active { color: var(--text-color) !important; border-radius: 0; } -.menu-container menu button:hover { +.menu-container menu button:is(:hover, :focus) { color: var(--bg-color) !important; background-color: var(--link-color); } diff --git a/src/components/account.jsx b/src/components/account.jsx index 123d2b6e..ecf54006 100644 --- a/src/components/account.jsx +++ b/src/components/account.jsx @@ -102,6 +102,7 @@ function Account({ account }) { return (
{!info || uiState === 'loading' ? ( diff --git a/src/components/compose.css b/src/components/compose.css index ac20ea4b..28930557 100644 --- a/src/components/compose.css +++ b/src/components/compose.css @@ -150,9 +150,6 @@ background-color: var(--bg-faded-color); opacity: 0.5; } -#compose-container .toolbar-button:has([disabled]) > * { - /* filter: opacity(0.5); */ -} #compose-container .toolbar-button:not(.show-field) :is(input[type='checkbox'], select, input[type='file']) { @@ -175,10 +172,17 @@ right: 0; left: auto !important; } -#compose-container .toolbar-button:not(:disabled):hover { +#compose-container + .toolbar-button:not(:disabled):is( + :hover, + :focus, + :focus-within, + :focus-visible + ) { cursor: pointer; filter: none; border-color: var(--divider-color); + outline: 0; } #compose-container .toolbar-button:not(:disabled):active { filter: brightness(0.8); @@ -231,7 +235,7 @@ width: 2.2em; height: 2.2em; } -#compose-container .text-expander-menu li:hover { +#compose-container .text-expander-menu li:is(:hover, :focus) { color: var(--bg-color); background-color: var(--link-color); } @@ -294,7 +298,7 @@ align-self: flex-start; color: var(--text-insignificant-color); } -#compose-container .media-aside .close-button:hover { +#compose-container .media-aside .close-button:is(:hover, :focus) { color: var(--text-color); } #compose-container .media-aside .uploaded { diff --git a/src/components/name-text.css b/src/components/name-text.css index e5d412ef..1db35970 100644 --- a/src/components/name-text.css +++ b/src/components/name-text.css @@ -3,8 +3,8 @@ text-decoration: none; display: inline-block; } -a.name-text:hover b, -a.name-text.short:hover i { +a.name-text:is(:hover, :focus) b, +a.name-text.short:is(:hover, :focus) i { text-decoration: underline; text-decoration-color: var(--text-insignificant-color); } diff --git a/src/components/status.css b/src/components/status.css index 03f62c18..6cf46bcc 100644 --- a/src/components/status.css +++ b/src/components/status.css @@ -122,7 +122,7 @@ margin-left: 4px; white-space: nowrap; } -.status > .container > .meta a.time:hover { +.status > .container > .meta a.time:is(:hover, :focus) { text-decoration: underline; } .status > .container > .meta .reply-to { @@ -319,7 +319,7 @@ background-color: var(--bg-faded-blur-color); } -.status .media:hover { +.status .media:is(:hover, :focus) { border-color: var(--outline-hover-color); } .status .media :is(img, video) { @@ -432,7 +432,7 @@ max-height: 50vh; border-inline-end: 0; } -.card:hover .image { +.card:is(:hover, :focus) .image { animation: position-object 5s ease-in-out 1s 5; } .card p { @@ -481,7 +481,7 @@ a.card { text-decoration: none; transition: opacity 0.2s ease-in-out; } -a.card:hover { +a.card:is(:hover, :focus) { border: 1px solid var(--link-color); box-shadow: 0 0 0 2px var(--link-faded-color); } @@ -562,10 +562,10 @@ a.card:hover { color: inherit; text-decoration: none; } -.status .extra-meta a:hover { +.status .extra-meta a:is(:hover, :focus) { text-decoration: underline; } -.status .extra-meta .edited:hover { +.status .extra-meta .edited:is(:hover, :focus) { cursor: pointer; color: var(--text-color); } @@ -601,11 +601,11 @@ a.card:hover { color: inherit; border: 1.5px solid transparent; } -.status .action > button.plain:hover { +.status .action > button.plain:is(:hover, :focus) { color: var(--link-color); background-color: var(--button-plain-bg-hover-color); } -.status .action > button.plain.reblog-button:hover { +.status .action > button.plain.reblog-button:is(:hover, :focus) { color: var(--reblog-color); } .status .action > button.plain.reblog-button.checked { @@ -630,7 +630,7 @@ a.card:hover { .status .action > button.plain.reblog-button.checked .icon { animation: reblogged 1s ease-in-out; } -.status .action > button.plain.favourite-button:hover { +.status .action > button.plain.favourite-button:is(:hover, :focus) { color: var(--favourite-color); } .status .action > button.plain.favourite-button.checked { diff --git a/src/components/status.jsx b/src/components/status.jsx index c12889e7..5215399a 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -209,6 +209,7 @@ function Status({ {size !== 's' && ( { @@ -1152,7 +1153,7 @@ function EditedAtModal({ statusID, onClose = () => {} }) { const currentYear = new Date().getFullYear(); return ( -
+
{/*