-
+
{t("footer.links.home.title")}
-
+
{"Contents"}
-
+
{"Chronicles"}
-
+
{"Changelog"}
-
+
{t("footer.links.timeline.title")}
-
+
{t("footer.links.gallery.title")}
-
+
{t("footer.links.videos.title")}
-
+
{t("footer.links.webArchives.title")}
@@ -166,10 +166,6 @@ const contactLabel = `${t("footer.socials.contact.title")} - ${t(
grid-template-columns: 1fr 1fr;
margin-left: -0.6em;
- @media (max-width: 65rem) {
- gap: unset;
- }
-
@media (max-width: 35rem) {
gap: 0.25em 0.5em;
grid-template-columns: 1fr 1fr;
@@ -184,35 +180,6 @@ const contactLabel = `${t("footer.socials.contact.title")} - ${t(
margin-left: unset;
font-size: 1.2em;
}
-
- & > a {
- display: flex;
- place-items: center;
- text-decoration: none;
- gap: 0.4em;
- padding: 0.4em 0.6em;
- border-radius: 9999px;
-
- @media (max-width: 35rem) {
- padding: 0.6em 0.8em;
- }
-
- transition: 150ms background-color;
-
- &:hover {
- background-color: var(--color-base-250);
- }
-
- &:active {
- background-color: var(--color-base-300);
- }
-
- & > svg {
- flex-shrink: 0;
- height: 0.75em;
- width: 0.75em;
- }
- }
}
}
@@ -247,6 +214,7 @@ const contactLabel = `${t("footer.socials.contact.title")} - ${t(
justify-content: flex-start;
gap: 0.2em;
margin-top: 0.5em;
+ width: fit-content;
& > svg {
width: 1em;
diff --git a/src/components/AppLayout/components/Html.astro b/src/components/AppLayout/components/Html.astro
index 4c7799c..e19500b 100644
--- a/src/components/AppLayout/components/Html.astro
+++ b/src/components/AppLayout/components/Html.astro
@@ -362,6 +362,8 @@ const { currentTheme } = Astro.locals;
button {
background-color: unset;
+ font-size: 1em;
+ border: unset;
}
button,
@@ -450,10 +452,16 @@ const { currentTheme } = Astro.locals;
transition: 150ms background-color;
- &:hover {
+ &:hover,
+ &:focus-visible {
background-color: var(--color-base-250);
}
+ &:focus-visible {
+ outline: 3px solid var(--color-base-1000);
+ outline-offset: unset;
+ }
+
&:active {
background-color: var(--color-base-300);
}
@@ -468,12 +476,18 @@ const { currentTheme } = Astro.locals;
transition-duration: 250ms;
transition-property: padding-top, box-shadow, background-color, color, border-color;
- &:hover {
+ &:hover,
+ &:focus-visible {
--foreground-color: var(--color-base-1000);
box-shadow: 0 2px 2px var(--color-shadow-2);
background-color: var(--color-elevation-1);
}
+ &:focus-visible {
+ outline: 3px solid var(--foreground-color);
+ outline-offset: unset;
+ }
+
&:active {
transition-duration: 75ms;
--foreground-color: var(--color-base-1000);
diff --git a/src/components/AppLayout/components/Topbar/Topbar.astro b/src/components/AppLayout/components/Topbar/Topbar.astro
index 8af3fa0..4373b26 100644
--- a/src/components/AppLayout/components/Topbar/Topbar.astro
+++ b/src/components/AppLayout/components/Topbar/Topbar.astro
@@ -77,6 +77,7 @@ const { t, getLocalizedUrl } = await getI18n(Astro.locals.currentLocale);
display: flex;
place-items: center;
overflow-x: scroll;
+ padding: 3px; /* This way focus outline isn't cropped by overflow-x */
gap: 8px;
margin-left: -0.8em;
@@ -92,6 +93,7 @@ const { t, getLocalizedUrl } = await getI18n(Astro.locals.currentLocale);
place-items: center;
justify-content: flex-end;
overflow-x: scroll;
+ padding: 3px; /* This way focus outline isn't cropped by overflow-x */
@media (max-width: 28rem) {
justify-content: center;
diff --git a/src/components/AppLayout/components/Topbar/components/ParentPagesButton.astro b/src/components/AppLayout/components/Topbar/components/ParentPagesButton.astro
index 970c668..89b251c 100644
--- a/src/components/AppLayout/components/Topbar/components/ParentPagesButton.astro
+++ b/src/components/AppLayout/components/Topbar/components/ParentPagesButton.astro
@@ -30,14 +30,14 @@ const { t } = await getI18n(Astro.locals.currentLocale);
))}