Sari la conținut

Proiect open-source independent. Domeniul oficial este sistem.digital.

Sistem DigitalCatalog versionatsistem.digital
Meniu

Catalog · Formulare

Mesaj de eroare

Explică problema unui câmp și modul concret de remediere.

AlphaComponentăFormulare

Prezentare

Explică problema unui câmp individual și modul concret de remediere, direct lângă câmpul afectat.

Când se folosește

  • imediat sub label/hint și deasupra controlului cu eroare, pentru fiecare câmp care a eșuat validarea;
  • întotdeauna împreună cu `aria-invalid="true"` pe control și `aria-describedby` către mesaj.

Când nu se folosește

  • ca listă centralizată a tuturor erorilor unui formular — acolo se folosește `error-summary`, plasat separat, la începutul formularului;
  • pentru mesaje de succes sau informative — acelea folosesc `notification-banner` sau `inset-text`, nu `error-message`.

Anatomie

Un `<p class="sd-error-message">`, cu textul „Eroare:” adăugat automat prin CSS (`::before`), urmat de textul propriu al problemei.

Variante

  • implicit — o singură variantă

Stări

  • nu are stări interactive proprii

Comportament

Element static; prefixul „Eroare:” e generat prin `content` CSS, deci dispare dacă stilurile nu se încarcă — implementarea nu trebuie să se bazeze pe el pentru sens, textul propriu-zis al mesajului rămâne complet fără el.

Reguli de conținut

  • textul propriu-zis nu repetă cuvântul „eroare” — prefixul e adăugat automat prin CSS;
  • urmează structura din ghidul de conținut: ce s-a întâmplat, ce câmp, cum se remediază, fără să blameze utilizatorul (docs/content/content-style-guide.md#erori).

Probleme cunoscute

  • prefixul „Eroare:” generat prin `::before` nu apare deloc dacă foaia de stil `forms.css` nu e încărcată — implementatorii care randează HTML fără CSS (de exemplu în e-mail) trebuie să adauge „Eroare:” explicit în text.

Responsabilitățile implementatorului

  • leagă mesajul de control prin `aria-describedby`, nu doar prin poziționare vizuală;
  • setează `aria-invalid="true"` pe control în același timp cu afișarea mesajului.

Cercetare

Istoric

Istoricul modificărilor relevante
VersiuneDatăModificare
0.1.0-alpha.0Publicare inițială în @sistem-digital/components, ca parte a pachetului public inițial de componente de formulare (PR #49).

Structura completă a acestei secțiuni urmează șablonul canonic al paginii unei componente. Accesibilitatea (semantică, tastatură, focus) rămâne documentată separat, conform șablonului de accesibilitate.

Preview și markup canonic

Previzualizarea de mai jos redă exact șirul HTML afișat în exemplul de cod. Nu există o implementare paralelă pentru documentație.

Previzualizare din markup-ul canonic

Eroare: Introdu o adresă de e-mail validă.

Instalare și importuri

pnpm add @sistem-digital/tokens @sistem-digital/components
Import CSS
@import '@sistem-digital/components/forms.css';
Markup canonic
<p class="sd-error-message"><span class="sd-visually-hidden">Eroare:</span> Introdu o adresă de e-mail validă.</p>

Contract și surse

Schimbarea claselor publice, a markup-ului canonic sau a comportamentului helperelor necesită versionare și instrucțiuni de migrare.

Matricea design–cod

Disponibilitatea reală a acestei componente, calculată din pachetele publicate, conform schemei matricei design–cod. Rândurile Figma, testare cu tastatura și testare cu cititor de ecran rămân „Indisponibil” până la dovezi publicate separat (kit Figma, respectiv auditul manual de accesibilitate).

Matricea design–cod pentru Mesaj de eroare
CanalDisponibilitate
FigmaIndisponibil
HTML/CSSDisponibil
Web ComponentsIndisponibil
ReactIndisponibil
DocumentațieDisponibil
Teste automateDisponibil
Testare cu tastaturaIndisponibil
Testare cu cititor de ecranIndisponibil

A fost utilă această pagină?

Linkul deschide un formular GitHub precompletat. Nu transmitem nimic până când alegi să publici feedback-ul și îți recomandăm să nu incluzi date personale.