fix(admin): polish orders
Same gap as products/categories: table select-all and per-row select checkboxes had no accessible name. Added aria-label (row label includes order number for context). New adminOrders.selectAllRows/ selectRow keys across en/ru/hy. Order detail page and order-timeline component reviewed — no interactive checkboxes or focus-visible gaps found there. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
<app-table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" (change)="facade.toggleAll($any($event.target).checked)" /></th>
|
||||
<th><input type="checkbox" [attr.aria-label]="'adminOrders.selectAllRows' | translate" (change)="facade.toggleAll($any($event.target).checked)" /></th>
|
||||
<th>{{ 'adminOrders.orderNumber' | translate }}</th>
|
||||
@if (isColumnVisible('customer')) { <th>{{ 'adminOrders.customer' | translate }}</th> }
|
||||
@if (isColumnVisible('status')) { <th>{{ 'backoffice.status' | translate }}</th> }
|
||||
@@ -73,7 +73,7 @@
|
||||
<tbody>
|
||||
@for (order of facade.orders(); track order.id) {
|
||||
<tr>
|
||||
<td><input type="checkbox" [checked]="isSelected(order.id)" (change)="facade.toggleSelection(order.id, $any($event.target).checked)" /></td>
|
||||
<td><input type="checkbox" [checked]="isSelected(order.id)" [attr.aria-label]="('adminOrders.selectRow' | translate) + ': ' + order.orderNumber" (change)="facade.toggleSelection(order.id, $any($event.target).checked)" /></td>
|
||||
<td>{{ order.orderNumber }}</td>
|
||||
@if (isColumnVisible('customer')) { <td>{{ order.customer.name }}</td> }
|
||||
@if (isColumnVisible('status')) { <td><app-badge variant="neutral">{{ ('adminOrders.status.' + order.status) | translate }}</app-badge></td> }
|
||||
|
||||
@@ -1292,6 +1292,8 @@ export const en: Translations = {
|
||||
back: 'Back to orders',
|
||||
search: 'Search by order number, name, email, or phone…',
|
||||
export: 'Export',
|
||||
selectAllRows: 'Select all orders',
|
||||
selectRow: 'Select order',
|
||||
view: 'View',
|
||||
orderNumber: 'Order',
|
||||
customer: 'Customer',
|
||||
|
||||
@@ -1287,6 +1287,8 @@ export const hy: Translations = {
|
||||
back: 'Վերադառնալ պատվերներին',
|
||||
search: 'Փնտրել ըստ պատվերի համարի, անվան, էլ. փոստի կամ հեռախոսի…',
|
||||
export: 'Արտահանել',
|
||||
selectAllRows: 'Ընտրել բոլոր պատվերները',
|
||||
selectRow: 'Ընտրել պատվերը',
|
||||
view: 'Դիտել',
|
||||
orderNumber: 'Պատվեր',
|
||||
customer: 'Հաճախորդ',
|
||||
|
||||
@@ -1287,6 +1287,8 @@ export const ru: Translations = {
|
||||
back: 'Назад к заказам',
|
||||
search: 'Поиск по номеру заказа, имени, email или телефону…',
|
||||
export: 'Экспорт',
|
||||
selectAllRows: 'Выбрать все заказы',
|
||||
selectRow: 'Выбрать заказ',
|
||||
view: 'Просмотр',
|
||||
orderNumber: 'Заказ',
|
||||
customer: 'Клиент',
|
||||
|
||||
@@ -1291,6 +1291,8 @@ export interface Translations {
|
||||
back: string;
|
||||
search: string;
|
||||
export: string;
|
||||
selectAllRows: string;
|
||||
selectRow: string;
|
||||
view: string;
|
||||
orderNumber: string;
|
||||
customer: string;
|
||||
|
||||
Reference in New Issue
Block a user