e39a42cfdf
A11y rescan Pattern H — Vuetify <v-text-field> без `label` prop рендерит empty `<label id="input-v-NN-label">` (referenced via aria-labelledby). Pa11y/axe видит unlabelled input на /admin/billing (search «Поиск по названию или ИНН») и /admin/system (search «Поиск по ключу или описанию»). Initial naive fix добавил `aria-label="..."` — но ARIA priority говорит aria-labelledby overrides aria-label, поэтому осталось violation. Final fix: add `label="Поиск"` prop on VTextField. Vuetify рендерит floating label с правильным accessible text → axe-core resolves через aria-labelledby chain successfully. Placeholder сохранён (split: «Поиск» теперь в label, «по названию или ИНН» / «по ключу или описанию» — placeholder). Files: - AdminBillingView.vue:209-217 - AdminSystemView.vue:130-138 Closes Pa11y «label» violations на 2 admin URLs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>