← back to Linkedin Like Helper
a11y: mode tabs are real buttons (keyboard focus + role=tab/aria-selected)
bfbe282c6e0acd52619b2922d1e4dd8c6e350133 · 2026-07-01 10:35:13 -0700 · Steve Abrams
Files touched
Diff
commit bfbe282c6e0acd52619b2922d1e4dd8c6e350133
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 1 10:35:13 2026 -0700
a11y: mode tabs are real buttons (keyboard focus + role=tab/aria-selected)
---
index.html | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/index.html b/index.html
index b0796e9..d4139ad 100644
--- a/index.html
+++ b/index.html
@@ -21,8 +21,9 @@
.sub{color:var(--muted);margin:2px 0 18px;font-size:13.5px}
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;cursor:pointer;
- font-size:13.5px;font-weight:600;color:var(--muted)}
+ font-size:13.5px;font-weight:600;color:var(--muted);font-family:inherit}
.tab.active{background:var(--li);color:#fff;border-color:var(--li)}
+ .tab:focus-visible{outline:2px solid var(--li);outline-offset:2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);
padding:18px 20px;margin-bottom:16px}
label{font-weight:600;font-size:13px;display:block;margin-bottom:6px}
@@ -78,9 +79,9 @@
</div>
</header>
- <div class="tabs">
- <div class="tab active" data-mode="feeds" onclick="setMode('feeds')">📜 Feed pages — scroll & like in place</div>
- <div class="tab" data-mode="links" onclick="setMode('links')">🔗 Post links</div>
+ <div class="tabs" role="tablist" aria-label="Mode">
+ <button type="button" class="tab active" data-mode="feeds" role="tab" aria-selected="true" onclick="setMode('feeds')">📜 Feed pages — scroll & like in place</button>
+ <button type="button" class="tab" data-mode="links" role="tab" aria-selected="false" onclick="setMode('links')">🔗 Post links</button>
</div>
<!-- ============ FEED-PAGES MODE ============ -->
@@ -209,7 +210,11 @@ function groupSizeFrom(selId, customId){
/* ---------- mode switch ---------- */
function setMode(m){
- document.querySelectorAll('.tab').forEach(t=>t.classList.toggle('active', t.dataset.mode===m));
+ document.querySelectorAll('.tab').forEach(t=>{
+ const on = t.dataset.mode===m;
+ t.classList.toggle('active', on);
+ t.setAttribute('aria-selected', on ? 'true' : 'false');
+ });
document.getElementById('pane-feeds').classList.toggle('active', m==='feeds');
document.getElementById('pane-links').classList.toggle('active', m==='links');
localStorage.setItem('lk_mode', m);
← d7cf6b0 feed mode: persist Opened set to localStorage so progress su
·
back to Linkedin Like Helper
·
Feed-pages: visible per-stream checklist (label + opened pil e35fcb1 →