Убрана верхняя панель AppShell; название приложения перенесено в начало Navbar (desktop).
Нижнее меню (mobile): иконка + подпись, пункт 56px, подпись 12px, активный пункт выделен «плашкой» под иконкой (не только цветом), safe-area (viewport-fit=cover), padding-bottom у Main считается от высоты меню.
a11y: aria-current через router NavLink, focus-visible, aria-label «Основная навигация» (navigation.primary).
Тесты: новый AppShell.test.tsx, обновлён AppRoutes.test.tsx.
Браузер (замоканный API): 375/320/1280px — нет header, нижнее меню 57px, «Облигации» не обрезается, нет горизонтального скролла, на desktop нижнее меню скрыто, контент от верха страницы.
Визуально скриншоты не оценивались.
Известное ограничение
Скрытый на mobile Navbar остаётся в DOM с тем же aria-label, что и нижнее меню (два одноимённых landmark).
Closes #109
## Что изменено
- Убрана верхняя панель AppShell; название приложения перенесено в начало Navbar (desktop).
- Нижнее меню (mobile): иконка + подпись, пункт 56px, подпись 12px, активный пункт выделен «плашкой» под иконкой (не только цветом), safe-area (`viewport-fit=cover`), padding-bottom у Main считается от высоты меню.
- a11y: `aria-current` через router NavLink, `focus-visible`, `aria-label` «Основная навигация» (`navigation.primary`).
- Тесты: новый `AppShell.test.tsx`, обновлён `AppRoutes.test.tsx`.
## Проверка
- lint, typecheck, test:run (470), knip, deps — зелёные.
- Браузер (замоканный API): 375/320/1280px — нет `header`, нижнее меню 57px, «Облигации» не обрезается, нет горизонтального скролла, на desktop нижнее меню скрыто, контент от верха страницы.
- Визуально скриншоты не оценивались.
## Известное ограничение
Скрытый на mobile Navbar остаётся в DOM с тем же aria-label, что и нижнее меню (два одноимённых landmark).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #109
Что изменено
viewport-fit=cover), padding-bottom у Main считается от высоты меню.aria-currentчерез router NavLink,focus-visible,aria-label«Основная навигация» (navigation.primary).AppShell.test.tsx, обновлёнAppRoutes.test.tsx.Проверка
header, нижнее меню 57px, «Облигации» не обрезается, нет горизонтального скролла, на desktop нижнее меню скрыто, контент от верха страницы.Известное ограничение
Скрытый на mobile Navbar остаётся в DOM с тем же aria-label, что и нижнее меню (два одноимённых landmark).