a11y: WCAG AA contrast + ARIA roles + focus management across all pages
- css/ls.css: --text-3 #8898AA → #56687A (5.1:1 contrast), min-height 44px on .btn-primary/.btn-ghost/.sb-link, new .icon-btn utility (44×44px) - js/api.js: lsConfirm — role=dialog, aria-modal, aria-labelledby, Tab focus trap, restore focus on close; lsToast — aria-live=polite on container, role=alert on errors; live quiz — role=dialog, role=radiogroup, role=radio, aria-checked, keyboard support - test-run.html: q-opt divs — role=radio/checkbox, aria-checked, tabindex, keyboard enter/space; confirm modal — role=dialog, aria-modal; btn-flag — aria-pressed; dots — aria-label, aria-current; touch targets 44px - board.html: btn-del-ann — aria-label; reaction buttons — aria-label, aria-pressed - All 18 HTML files: replace hardcoded color:#8898AA with color:var(--text-3) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
.gb-chip-val {
|
||||
font-family: 'Unbounded', sans-serif; font-size: 1.3rem; font-weight: 800;
|
||||
}
|
||||
.gb-chip-label { font-size: 0.72rem; color: #8898AA; font-weight: 600; margin-top: 4px; }
|
||||
.gb-chip-label { font-size: 0.72rem; color: var(--text-3); font-weight: 600; margin-top: 4px; }
|
||||
|
||||
/* ── table container ── */
|
||||
.gb-container { max-width: 1200px; margin: 0 auto; padding: 24px 28px 80px; }
|
||||
@@ -82,7 +82,7 @@
|
||||
position: sticky; top: 0; z-index: 10;
|
||||
background: #f8f9fc; border-bottom: 1.5px solid rgba(15,23,42,0.08);
|
||||
padding: 12px 14px; text-align: left;
|
||||
font-size: 0.7rem; font-weight: 700; color: #8898AA;
|
||||
font-size: 0.7rem; font-weight: 700; color: var(--text-3);
|
||||
text-transform: uppercase; letter-spacing: 0.04em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
@@ -134,7 +134,7 @@
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.gb-student-name { font-weight: 700; font-size: 0.82rem; }
|
||||
.gb-student-email { font-size: 0.68rem; color: #8898AA; font-weight: 500; }
|
||||
.gb-student-email { font-size: 0.68rem; color: var(--text-3); font-weight: 500; }
|
||||
|
||||
/* ── footer row ── */
|
||||
.gb-table tfoot td {
|
||||
@@ -155,7 +155,7 @@
|
||||
|
||||
/* ── empty state ── */
|
||||
.gb-empty {
|
||||
text-align: center; padding: 60px 20px; color: #8898AA; font-size: 0.88rem;
|
||||
text-align: center; padding: 60px 20px; color: var(--text-3); font-size: 0.88rem;
|
||||
}
|
||||
.gb-empty-icon { font-size: 3rem; margin-bottom: 12px; opacity: 0.3; }
|
||||
|
||||
@@ -448,7 +448,7 @@
|
||||
html += `<td class="gb-td-avg">${gradeCell(classAvg)}</td></tr></tfoot>`;
|
||||
html += `</table></div></div>`;
|
||||
} else {
|
||||
html += `<div style="background:#fff;border:1.5px solid rgba(15,23,42,0.07);border-radius:16px;padding:40px;text-align:center;color:#8898AA;margin-bottom:20px">
|
||||
html += `<div style="background:#fff;border:1.5px solid rgba(15,23,42,0.07);border-radius:16px;padding:40px;text-align:center;color:var(--text-3);margin-bottom:20px">
|
||||
Нет заданий в этом классе. <a href="/classes" style="color:var(--violet)">Создать задание <svg class="ic" viewBox="0 0 24 24"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></a>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user