Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/_includes/layouts/base.njk
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ eleventyComputed:
{%- endif -%}
</head>
<body class="font-sans ff-website leading-normal tracking-normal gradient text-gray-500 min-h-screen flex flex-col">
<a href="#main-content" class="skip-to-main">Skip to main content</a>
<div class="flex-grow base">
<div class="w-full">
<!-- Events Banner -->
Expand Down Expand Up @@ -313,7 +314,7 @@ eleventyComputed:
</div>
</header>
<!-- Main Content -->
<main class="flex flex-col mx-auto items-center justify-center gradient-bg">
<main id="main-content" class="flex flex-col mx-auto items-center justify-center gradient-bg">
{{ content | safe }}
</main>
</div>
Expand Down
5 changes: 3 additions & 2 deletions src/css/algolia-theme.css
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
#algolia-search .aa-DetachedSearchButton:focus,
#algolia-search .aa-DetachedSearchButton:focus-within,
#algolia-search .aa-DetachedSearchButton:active {
outline: none;
outline: 2px solid theme(colors.indigo.600);
outline-offset: 2px;
box-shadow: none;
}

Expand All @@ -21,7 +22,7 @@
}
#algolia-search .aa-Form:focus-visible,
#algolia-search .aa-Form:focus-within {
box-shadow: none;
box-shadow: 0 0 0 2px theme(colors.indigo.600);
outline: none;
}
#algolia-search .aa-Form .aa-SubmitIcon,
Expand Down
35 changes: 35 additions & 0 deletions src/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,31 @@
@tailwind components;
@tailwind utilities;

/* Skip to main content link */
.skip-to-main {
position: fixed;
top: 0;
left: 1rem;
z-index: 9999;
padding: 0.25rem 0.75rem;
background-color: theme(colors.indigo.600);
color: theme(colors.white);
border-radius: 0 0 0.375rem 0.375rem;
transform: translateY(-100%);
transition: transform 0.2s ease;
text-decoration: none;
font-weight: 500;
font-size: 0.875rem;
}
.skip-to-main:hover {
background-color: theme(colors.indigo.700);
}
.skip-to-main:focus {
transform: translateY(0);
outline: 2px solid theme(colors.indigo.600);
outline-offset: 2px;
}

html, body {
font-size: 16px;
font-family: 'Helvetica Neue', sans-serif;
Expand Down Expand Up @@ -1811,6 +1836,11 @@ input[type="range"] {
background: theme(colors.indigo.600);
}

input[type="range"]:focus-visible {
outline: 2px solid theme(colors.indigo.600);
outline-offset: 2px;
}

/* Thumb: webkit */
input[type="range"]::-webkit-slider-thumb {
/* removing default appearance */
Expand Down Expand Up @@ -1959,6 +1989,11 @@ lite-youtube::before {
animation: gradient-border-rotate 4s linear;
}

.ai-chat-box .textarea-wrapper:focus-within {
outline: 2px solid theme(colors.indigo.500);
outline-offset: 3px;
}

/* View transition names for 'morphing-content' are set dynamically via JavaScript for AI modal transitions */

/* View Transition styles for smooth morphing */
Expand Down
Loading