Skip to content

Commit 8ed7724

Browse files
author
Saurav Kumar
committed
fix: make theme toggle accessible for screen readers and keyboard users
1 parent 4f52c49 commit 8ed7724

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ <h1 class="logo">
8383
<div class="options">
8484
<div id="theme-toggle-wrapper">
8585
<label id="theme-toggle-label" for="theme-toggle-btn">
86-
<input type="checkbox" id="theme-toggle-btn" style="display: none" />
86+
<input type="checkbox" id="theme-toggle-btn" />
8787
<div id="theme-toggle-slider"></div>
8888
</label>
8989
<span id="theme-text">Dark Mode</span>

web/common-style.css

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,18 @@ select {
214214
font-size: 1rem;
215215
}
216216

217+
#theme-toggle-btn {
218+
position: absolute;
219+
opacity: 0;
220+
width: 0;
221+
height: 0;
222+
}
223+
224+
#theme-toggle-btn:focus+#theme-toggle-slider {
225+
outline: 2px solid #2196F3;
226+
outline-offset: 2px;
227+
}
228+
217229
#theme-toggle-label {
218230
display: inline-block;
219231
height: 20px;
@@ -255,4 +267,4 @@ input:checked+#theme-toggle-slider:before {
255267

256268
#theme-toggle-slider:before {
257269
border-radius: 50%;
258-
}
270+
}

0 commit comments

Comments
 (0)