diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index bd9eb19..444451e 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -107,7 +107,9 @@ function HomeView() { {config.show_search || config.show_groups ?
{config.show_search ?
setQuery(event.target.value)} />
: null} - {config.show_groups ?
{groups.map((item) => )}
: null} + {/* role="group" 让 aria-label 生效(无 role 的 div 是 generic,规范禁止命名,标签会被丢掉); + 选中态用 aria-pressed,不用 role="radio",避免欠下方向键 + roving tabindex 的实现。 */} + {config.show_groups ?
{groups.map((item) => )}
: null} {ui(locale, `${visible.length} 个节点`, `${visible.length} servers`)}
: null} {error ?
{error}
: null} diff --git a/frontend/src/components/AdminPanel.tsx b/frontend/src/components/AdminPanel.tsx index 946e4cd..d452b31 100644 --- a/frontend/src/components/AdminPanel.tsx +++ b/frontend/src/components/AdminPanel.tsx @@ -518,18 +518,20 @@ export function AdminPanel({ return (
- {error ?
- : notice ?
: null} + {/* toast 的定位是按后台的顶栏算的;登录页没有顶栏,那里的错误走表单内提示 */} + {authenticated ? (error ?
+ : notice ?
: null) : null} {!authenticated ?
- - + +
-

管理员登录

- - +

管理员登录

{config.site_name}

+ + {config.turnstile_login_enabled || config.turnstile_enabled ?
: null} - + {error ? : null} +
:
@@ -538,33 +540,38 @@ export function AdminPanel({ {config.site_name}
- - - + + +

{adminPages[tab].title}

{adminPages[tab].description}

{tab === "servers" ? (
-

监控节点

{servers.length} 个节点 · 可拖动上下排序
-
{selectedIds.length ? : 批量操作}
+

监控节点

{servers.length} 个节点 · 可拖动上下排序
+
{selectedIds.length ? : 批量操作}
{servers.map((server, index) => (
{ event.preventDefault(); event.dataTransfer.dropEffect = "move"; }} onDrop={(event) => void dropServer(event, server.id)}> @@ -592,8 +599,8 @@ export function AdminPanel({ {!theme.builtin ? {theme.url} : null}
- {!theme.builtin ? : null} - + {!theme.builtin ? : null} + {!theme.builtin ? : null}
)} @@ -604,7 +611,7 @@ export function AdminPanel({

仅支持 GitHub 地址