Atrybut role="navigation" oznacza, że dany fragment interfejsu jest obszarem nawigacji (tzw. landmark). Dla czytników ekranu i innych technologii asystujących jest to sygnał, że w tym miejscu znajdują się elementy służące do przemieszczania się po stronie. Taka semantyczna informacja zwykle poprawia użyteczność dostępnościową, bo użytkownik może szybciej odnaleźć "nawigację" w strukturze strony.
Stwierdzenie "Kod jest zgodny z normami WCAG 2.1, ponieważ zawiera role="navigation"" jest w tym zestawie odpowiedzi najbardziej trafne, bo wskazuje realny mechanizm wspierający dostępność: wyraźne oznaczenie regionu nawigacji. W praktyce warto pamiętać, że pełna zgodność z WCAG nie zależy od jednego atrybutu — potrzebne są też m.in. poprawne działanie klawiatury, widoczny fokus, odpowiedni kontrast i właściwa struktura całej strony.
Pozostałe stwierdzenia są nietrafne z następujących powodów:
- "Kod jest niezgodny ..., ponieważ nie ma opisów dla linków" — linki mają tekst będący ich etykietą (np. "Home"). To właśnie tekst odnośnika jest podstawowym "opisem" linku. Problem pojawia się dopiero, gdy link ma nieinformacyjny tekst typu "Kliknij tutaj" lub jest pusty.
- "... ponieważ nie zawiera alternatywnego tekstu dla linków" — pojęcie tekstu alternatywnego dotyczy głównie obrazów (np. atrybutu alt w <img>). Dla tekstowych odnośników alternatywny tekst nie jest wymagany, bo sam tekst linku pełni funkcję etykiety.
- "Kod jest zgodny ..., ponieważ zawiera listę linków" — lista <ul> z <li> jest dobrą praktyką do budowy menu, ale sama lista nie przesądza o dostępności. Można mieć listę linków, która nadal będzie problematyczna (np. złe etykiety, brak obsługi klawiatury w dodatkowych mechanizmach, brak widocznego fokusu w CSS).
Wskazówka egzaminacyjna: jeśli pytanie dotyczy dostępności, oceniaj sens elementu (nawigacja/landmark), etykietowanie (czy link mówi dokąd prowadzi) i semantykę. W HTML często lepszym rozwiązaniem od roli na <div> jest użycie semantycznego <nav>, ale rola nadal może poprawnie przekazać znaczenie.