Ceea ce este scopul "rol" atribut în HTML?

Tot văd rolul atribute în unii oameni's de lucru. Eu folosesc de tine, dar nu'm nu sunt sigur despre efectul său.

De exemplu:

<header id="header" role="banner">
    Header stuff in here
</header>

Sau:

<section id="facebook" role="contentinfo">
    Facebook stuff in here
</section>

Sau:

<section id="main" role="main">
     Main content stuff in here
</section>

Este acest rol de atribut necesar?

Este acest atribut mai bine pentru semantica?

Nu-l îmbunătăți SEO?

O listă de roluri poate fi găsit aici, dar vad ca unii oameni să facă propriile lor. Asta este permis sau o utilizarea corectă a rolului atribut?

Vreo idee despre asta?

Soluția

Cele mai multe dintre rolurile pe care le vezi au fost definite ca parte din ARIA 1.0, și apoi mai târziu încorporată în HTML5. Unele dintre cele mai noi HTML5 elemente (dialog, principală, etc.) sunt chiar bazează pe original ARIA roluri.

http://www.w3.org/TR/wai-aria/

Există două motive principale pentru a utiliza roluri în plus față de ta maternă semantic element.

Motiv #1. Imperative rol în cazul în care nici o limba-gazdă element este corespunzătoare sau, din diverse motive, mai puțin semantic adecvat element a fost folosit.

În acest exemplu, un link a fost folosit, chiar dacă rezultă funcționalitate este butonul mai mult decât o legătură de navigare.

<a href="#" role="button" aria-label="Delete item 1">Delete</a>

Cititoarele de ecran vor auzi ca un buton (spre deosebire de un link), și puteți utiliza un atribut CSS selector pentru a evita clasa-itis și div-itis.

*[role="button"] {
  /* style these a buttons w/o relying on a .button class */
}

Motivul #2. Copierea de rezervă a unui element de nativ's de rol, pentru a sprijini browsere care a implementat ARIA rol, dar am't încă puse în aplicare elementul nativ's de rol.

De exemplu, "principal" rol a fost susținută în browsere, pentru mulți ani, dar's-o relativ recent plus față de HTML5, atât de multe browsere don't încă suport semantic de <principal>.

Acest lucru este punct de vedere tehnic redundante, dar ajută unii utilizatori, și nu't afecta orice. În câțiva ani, aceasta tehnica va deveni probabil inutile.

Ai, de asemenea, a scris:

văd unii oameni să facă propriile lor. Asta este permis sau o utilizarea corectă a rolului atribut?

Ca's valabile folosi de atributul excepția cazului în care un rol real nu este inclus. Browsere va aplica mai întâi recunoscut rolul în semn listă.

<span role="foo link note bar">...</a>

Din lista, doar "link-ul" și "nota" sunt valabile roluri, și deci link-ul de rol va fi aplicat, deoarece este vorba în primul rând. Dacă utilizați roluri personalizate, asigurați-vă că ei don't conflict cu orice rol definit în ARIA sau în limba țării gazdă te're folosind (HTML, SVG, MathML, etc.)

Comentarii (10)

După cum am înțeles, rolurile au fost inițial definit de XHTML, dar au fost depasite. Cu toate acestea, ele sunt acum definite de HTML 5, vezi aici: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header

Scopul rol de atribut este de a identifica pentru parsing software-ul exact în funcție de un element (și copiii), ca parte a unei aplicații web. Acest lucru este în mare parte ca o accesibilitate lucru pentru cititoarele de ecran, dar eu pot vedea, de asemenea, ca fiind utile pentru browsere încorporate și ecran raclete. În scopul de a fi util neobișnuit HTML client, atribut trebuie să fie setat la unul dintre rolurile din spec-am legat. Dacă vă face propria dvs., acest lucru 'viitorul' funcționalitate poate't de lucru - un comentariu ar fi mai bine.

Practice aici: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/

Comentarii (0)

Este acest rol de atribut necesar?

Răspuns: Da.

  • Rolul atribut este necesar pentru a sprijini Accesibile Rich Internet Applications (WAI-ARIA) pentru a defini roluri în limbajele bazate pe XML, când limbile nu definesc propriul lor rol de atribut.
  • Deși acest lucru este motivul pentru care rolul de atribut este publicat de Protocoale și Formate de Lucru în Grup, atributul are mai multe cazuri de utilizare generală, precum și.

Acesta vă oferă:

  • Accesibilitate
  • Dispozitiv de adaptare
  • Server-side de prelucrare
  • Complexe de date, descriere,...etc.
Comentarii (1)

Îmi dau seama că aceasta este o întrebare veche, dar o altă posibilă luarea în considerare, în funcție de cerințele dumneavoastră exacte este că validarea pe https://validator.w3.org/ generează avertismente, după cum urmează:

Avertisment: forma rol este inutilă pentru element de formă.

Comentarii (1)

Rol de atribut, în principal, îmbunătățirea accesibilității pentru persoanele care utilizează cititoare de ecran. Pentru mai multe cazuri vom folosi, cum ar fi accesibilitatea, dispozitiv de adaptare,server-side de prelucrare, și de date complexe descriere. Știu mai multe click: https://www.w3.org/WAI/PF/HTML/wiki/RoleAttribute.

Comentarii (1)