From de6afc99fa1a9cfa6973245904fa91904357cd1a Mon Sep 17 00:00:00 2001 From: bot-frontend Date: Sat, 30 May 2026 21:13:19 +0000 Subject: [PATCH] =?UTF-8?q?fix(tradein):=20a11y=20follow-up=20=E2=80=94=20?= =?UTF-8?q?sr-only=20th-=D1=82=D0=B5=D0=BA=D1=81=D1=82=20+=20heading-order?= =?UTF-8?q?=20(#835)=20(#845)=20Co-authored-by:=20bot-frontend=20=20Co-committed-by:=20bot-frontend=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/trade-in/DealsCard.tsx | 2 +- .../src/components/trade-in/ListingsCard.tsx | 2 +- .../src/components/trade-in/OfferCard.tsx | 8 ++++---- .../src/components/trade-in/StreetDealsCard.tsx | 2 +- .../src/components/trade-in/trade-in.css | 16 +++++++++++++++- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/tradein-mvp/frontend/src/components/trade-in/DealsCard.tsx b/tradein-mvp/frontend/src/components/trade-in/DealsCard.tsx index 627c103f..d3b77708 100644 --- a/tradein-mvp/frontend/src/components/trade-in/DealsCard.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/DealsCard.tsx @@ -128,7 +128,7 @@ export function DealsCard({ estimate }: Props) { ₽ / м² Цена сделки Дата - + Действия diff --git a/tradein-mvp/frontend/src/components/trade-in/ListingsCard.tsx b/tradein-mvp/frontend/src/components/trade-in/ListingsCard.tsx index be498703..49039236 100644 --- a/tradein-mvp/frontend/src/components/trade-in/ListingsCard.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/ListingsCard.tsx @@ -258,7 +258,7 @@ export function ListingsCard({ estimate, estimateId }: Props) { ₽ / м² Стоимость Дист. - + Действия diff --git a/tradein-mvp/frontend/src/components/trade-in/OfferCard.tsx b/tradein-mvp/frontend/src/components/trade-in/OfferCard.tsx index 743bafb2..1110131c 100644 --- a/tradein-mvp/frontend/src/components/trade-in/OfferCard.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/OfferCard.tsx @@ -215,7 +215,7 @@ export function OfferCard({ estimate, brandSlug }: Props) { -

Экономия времени

+

Экономия времени

Берём на себя показы, переговоры и поиск покупателей. Менеджеру остаётся только подписать ДКП.

@@ -225,7 +225,7 @@ export function OfferCard({ estimate, brandSlug }: Props) {
-

Юридическая безопасность

+

Юридическая безопасность

Проверяем чистоту документов, ЕГРН, прописанных и обременения. Исключаем риски.

@@ -236,7 +236,7 @@ export function OfferCard({ estimate, brandSlug }: Props) {
-

Фиксированная цена новостройки

+

Фиксированная цена новостройки

Сохраняем планировку в каталоге по цене на момент оценки — до закрытия сделки.

@@ -247,7 +247,7 @@ export function OfferCard({ estimate, brandSlug }: Props) {
-

Гарантия цены

+

Гарантия цены

Снимаем риск колебаний рынка — выкупная стоимость зафиксирована в оффере на 30 дней.

diff --git a/tradein-mvp/frontend/src/components/trade-in/StreetDealsCard.tsx b/tradein-mvp/frontend/src/components/trade-in/StreetDealsCard.tsx index ab673029..6d1ab49b 100644 --- a/tradein-mvp/frontend/src/components/trade-in/StreetDealsCard.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/StreetDealsCard.tsx @@ -165,7 +165,7 @@ export function StreetDealsCard({ estimate }: Props) { ₽/м² Дата {hasAnyListing && Объявление до сделки} - + Действия diff --git a/tradein-mvp/frontend/src/components/trade-in/trade-in.css b/tradein-mvp/frontend/src/components/trade-in/trade-in.css index ef1be3ef..caed0313 100644 --- a/tradein-mvp/frontend/src/components/trade-in/trade-in.css +++ b/tradein-mvp/frontend/src/components/trade-in/trade-in.css @@ -1348,7 +1348,7 @@ display: grid; place-items: center; margin-bottom: 4px; } - .advantage h4 { + .advantage h3 { font-size: 14px; letter-spacing: -0.005em; } @@ -1967,6 +1967,20 @@ .discount-neg { color: var(--success); } .discount-pos { color: var(--danger); } +/* #835 a11y: визуально-скрытый текст для скринридеров (sr-only) — для пустых + th-заголовков (empty-table-header требует ТЕКСТ, не aria-label). */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + /* Ячейка listing-колонки */ .listing-cell { min-width: 200px;