From dfae205c95edb8d7ff430a8719d18a6aff7a552e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=97=D0=B8=D0=BC=D0=B8=D0=BD?= Date: Thu, 14 May 2026 22:42:00 +0000 Subject: [PATCH] =?UTF-8?q?fix(a11y):=20add=20hidden=20SheetTitle=20=D0=BA?= =?UTF-8?q?=20MobileSidebar=20(Radix=20warning)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ordinis-admin-ui/src/components/layout/Sidebar.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ordinis-admin-ui/src/components/layout/Sidebar.tsx b/ordinis-admin-ui/src/components/layout/Sidebar.tsx index bc23958..c4d62ad 100644 --- a/ordinis-admin-ui/src/components/layout/Sidebar.tsx +++ b/ordinis-admin-ui/src/components/layout/Sidebar.tsx @@ -26,7 +26,7 @@ import { useReviewsBadgeCount, useWebhookSubscriptions, } from '@/api/queries' -import { Sheet, SheetContent } from '@/ui' +import { Sheet, SheetContent, SheetTitle } from '@/ui' import { ThemeSwitch } from '@/components/layout/ThemeSwitch' import { cn } from '@/lib/utils' @@ -527,6 +527,14 @@ export function MobileSidebar({ open, onClose }: { open: boolean; onClose: () => size="md" className="!w-[260px] !max-w-[260px] !p-0 !gap-0 flex flex-col bg-surface" > + {/* Hidden title — Radix DialogContent (which Sheet wraps) требует + DialogTitle для screen reader а11y. Визуально не нужен (logo + block внутри SidebarContent уже служит heading), поэтому + sr-only. Без этого Radix кидает dev-mode warning + screen + reader users не понимают что за dialog открыт. */} + + {t('nav.menu', { defaultValue: 'Меню навигации' })} +