UNPKG

fast_htmlcs

Version:

A high performance rewrite of HTML_CodeSniffer.

1 lines 132 kB
!function(e,t){if("function"==typeof define&&define.amd)define("htmlcs",t);else if("object"==typeof i)module.exports=t();else{var i=t();for(var a in i)e[a]=i[a]}}(this,function(){var e={translation:{}};return e.translation.pl={auditor_success_criterion:"Kryteria sukcesu",auditor_suggested_techniques:"Sugerowane techniki","1_1_1_H30.2":"Grafika jest jedyną treścią linku i powinna zostać uzupełniona o opis alternatywny opisujący jego cel.","1_1_1_H67.1":"Grafika pełni funkcję dekoracyjną, więc zarówno atrybut alt, jak i title powinny być puste.","1_1_1_H67.2":"Grafika jest oznaczona jako dekoracyjna i będzie ignorowana przez technologie wspomagające np. czytniki ekranu.","1_1_1_H37":"Znacznik <img> nie ma atrybutu alt. Dodaj ten atrybut i wpisz do niego krótki opis grafiki.","1_1_1_G94.Image":"Upewnij się, że opis alternatywny grafiki przekazuje tę samą informację, co sama grafika.","1_1_1_H36":"Przycisk graficzny nie ma atrybutu alt. Dodaj do przycisku atrybut alt i opisz w nim funkcję przycisku.","1_1_1_G94.Button":"Upewnij się, że opis alternatywny przycisku prawidłowo opisuje funkcję przycisku.","1_1_1_H24":"Element <area> w grafaicznej mapie odsyłaczy nie ma atrybutu alt. Każdy taki obszar powinien mieć atrybut alt z opisem alternatywnym, który odpowiednio opisuje dany obszar.","1_1_1_H24.2":"Upewnij się, że opis alternatywny obszaru <area> odpowiada jego funkcji lub treści.","1_1_1_G73,G74":"Jeśli krótki opis alternatywny nie opisuje wystarczająco treści prezentowanej przez grafikę, dodaj rozszerzony opis bezpośrednio na stronie lub na oddzielnej stronie.","1_1_1_H2.EG5":"Opis alternatywny elementu <img> umieszczonego wewnątrz linku, nie może być taki sam jak tekst samego linku.","1_1_1_H2.EG4":"Element <img> znajdujący się wewnątrz linku nie ma atrybutu alt lub alt jest pusty. Ponieważ w sąsiedztwie znajduje się tekst linku, zaleca się połączenie tych elementów w jedno łącze ze wspólnym opisem.","1_1_1_H2.EG3":"Element <img> znajdujący się wewnątrz linku nie może mieć opisu alternatywnego tej samej treści, co tekst linku znajdujący się w jego sąsiedztwie.","1_1_1_H53,ARIA6":"Element <object> musi zawierać atrybut alt z wprowadzonym opisem alternatywnym, o ile nie został zapewniony żaden inny alternatywny opis tego elementu.","1_1_1_G94,G92.Object,ARIA6":"Sprawdź, czy krótkie lub długie teksty alternatywne są dostępne dla wszystkich elementów nietekstowych i możliwie najdokładniej je opisują.","1_1_1_H35.3":"<applet> powinien zawierać opis alternatywny wewnątrz znaczników <object>. Zapewni to alternatywę w przeglądarkach, które nie obsługują elementu <applet>.","1_1_1_H35.2":"Applet powinien mieć opis alternatywny w atrybucie alt, aby zapewnić wsparcie w przypadku problemów z załadowaniem zawartości.","1_1_1_G94,G92.Applet":"Sprawdź, czy krótkie lub długie teksty alternatywne są dostępne dla wszystkich elementów nietekstowych i możliwie najdokładniej je opisują.","1_2_1_G158":"Treść przedstawiona w sposób dźwiękowy powinna zostać uzupełniona dodatkową transkrypcją lub opisem alternatywnym.","1_2_1_G159,G166":"Jeśli obiekt wideo (bez dźwięku) zamieszczony na stronie nie jest alternatywą dla tekstu, sprawdź, czy istnieje do niego alternatywa tekstowa lub ścieżka dźwiękowa prezentująca tę samą treść.","1_2_2_G87,G93":"Jeśli obiekt wideo ze ścieżką audio nie jest alternatywą dla tekstu, sprawdź, czy materiał ma napisy dla niesłyszących.","1_2_3_G69,G78,G173,G8":"Jeśli obiekt wideo ze ścieżką audio nie jest alternatywą dla tekstu, sprawdź, czy materiał zawiera dodatkowo audiodeskrypcję obrazu i/lub opis alternatywny dla treści przedstawionych wyłącznie w formie obrazu.","1_2_4_G9,G87,G93":"Sprawdź, czy materiał wideo prezentowany na żywo ma napisy dla niesłyszących tworzone na żywo.","1_2_5_G78,G173,G8":"Sprawdź, czy materiał wideo ma dołączoną audiodeskrypcję treści wizualnych.","1_2_6_G54,G81":"Sprawdź, czy materiał wideo ma dołączone tłumaczenie na język migowy.","1_2_7_G8":"Jeśli materiał wideo, nie ma wystarczających pauz, by uzupełnić go o audiodeskrypcję, sprawdź, czy zamieszczona jest alternatywna wersja lub rozszerzona ścieżka dźwiękowa.","1_2_8_G69,G159":"Sprawdź, czy materiał wideo lub wideo (sam obraz) jest umieszczony wraz z alternatywą tekstową.","1_2_9_G150,G151,G157":"Sprawdź, czy materiał audio przekazywany na żywo jest umieszczony wraz z wersją tekstową tworzoną na żywo.","1_3_1_F92,ARIA4":'Ten element ma przypisaną rolę "presentation", ale zawiera też konkretne treści.',"1_3_1_H44.NonExistent":'Atrybut "for" znacznika <label> zawiera identyfikator pola, które nie istnieje na stronie.',"1_3_1_H44.NonExistentFragment":'Atrybut "for" znacznika <label> zawiera identyfikator pola, które nie istnieje w tym obszarze strony.',"1_3_1_H44.NotFormControl":'Atrybut "for" znacznika <label> zawiera identyfikator, który jest przypisany do elementu nie będącego elementem formularza. Sprawdź, czy identyfikator został umieszczony w odpowiednim znaczniku.',"1_3_1_H65":'Element formularza zawiera atrybut "title" bez treści lub z samymi spacjami/odstępami. Taki title nie będzie uwzględniany jako prawidłowa etykieta.',"1_3_1_ARIA6":'To pole formularza ma atrybut "aria-label" bez treści lub z samymi spacjami/odstępami. Taki atrybut nie będzie uwzględniany jako prawidłowa etykieta.',"1_3_1_ARIA16,ARIA9":'To pole formularza ma atrybut "aria-labelledby. Jednak jego ID "{{id}}" nie istnieje w żadnym elemencie. Taki atrybut nie będzie uwzględniany jako opis pola.',"1_3_1_F68.Hidden":"To ukryte pole ma etykietę (opis). Nie ma potrzeby dodawania etykiety do ukrytego pola.","1_3_1_F68.HiddenAttr":'To pole ma z zasady być ukryte (za pomocą atrybutu "hidden"). Nie ma potrzeby dodawania etykiety do ukrytego pola.',"1_3_1_F68":'Pole formularza powinno posiadać opis bądź etykietę. Zaleca się dodanie atrybutów "title", "aria-label" lub "aria-labelledby" bądź elementu label (z atrybutem "for" wskajuącym na to pole).',"1_3_1_H49.":"Znaczniki prezentacyjne użyte w kodzie są przestarzałe w HTML5.","1_3_1_H49.AlignAttr":"Atrybuty align.","1_3_1_H49.Semantic":"Do wyróżnienia tekstu powinny zostać użyte odpowiednie znaczniki.","1_3_1_H49.AlignAttr.Semantic":"Do wyróżnienia tekstu powinny zostać użyte odpowiednie znaczniki.","1_3_1_H42":"Jeśli ten fragment treści miał być nagłówkiem, powinny zostać użyte znaczniki nagłówków (h1 – h6).","1_3_1_H63.3":'W komórce tabeli użyto niewłaściwy atrybut "scope". Dopuszczalne atrybuty to: "row", "col", "rowgroup" i "colgroup".',"1_3_1_H63.2":"Atrybuty scope używane dla komórek tabeli (<td>), aby oznaczyć nagłówek, są przestarzałe w HTML5. Zaleca się skorzystanie ze znacznika <th>.","1_3_1_H43.ScopeAmbiguous":'Użycie atrybutów scope dla elementu th jest niejasne w tabeli z wieloma nagłówkami. Rekomenduje się użycie atrybutu "headers" w znaczniku <td>.',"1_3_1_H43.IncorrectAttr":'Nieprawidłowy atrybut nagłówka w znaczniku <td>. Zamiast "{{actual}}" powinien być "{{expected}}".',"1_3_1_H43.IncorrectAttrNotice":"Sprawdź, czy atrybut headers dla elementu td jest poprawny.","1_3_1_H43.HeadersRequired":'Nie zdefiniowano relacji pomiędzy komórką <td> a powiązanym z nią nagłówkiem <th>. Wskazana tabela ma wiele poziomów <th>, zatem należałoby użyć atrybutu "headers" w komórkach <td>.',"1_3_1_H43.MissingHeaderIds":'Nie wszystkie nagłówki th w tej tabeli posiadają atrybut "id" i nie będzie się można do nich odwołać za pomocą atrybutu "headers" w znacznikach <td>.',"1_3_1_H43.MissingHeadersAttrs":"Nie wszystkie komórki <td> w tej tabeli posiadają atrybut headers. W atrybucie headers powinny znajdować się identyfikatory powiązanych nagłówków.","1_3_1_H43,H63":'Komórki <td> nie mają ustalonej relacji z komórkami nagłówkowymi <th>. Należy zdefiniować atryb "scope" dla <th> lub "headers" dla <td>.',"1_3_1_H63.1":'Nie wszystkie komórki <th> w tej tabeli posiadają atrybut "scope". Ten atrybut pozwala powiązać nagłówki <th> z odpowiednimi komórkami <td>.',"1_3_1_H73.3.LayoutTable":"Tabela jest prawdopodobnie używana do struktury układu graficznego ale zawiera atrybut summary. Tabele używane do budowania struktury strony nie mieć tego atrybutu.","1_3_1_H39,H73.4":'Jeśli tabela zawiera treści i zastosowano w niej atrybut "summary" i znacznik <caption>. Treści tego atrybutu i znacznika nie mogą być powielone.',"1_3_1_H73.3.Check":'Jeśli ta tabela zawiera dane, sprawdź, czy atrybut "summary" opisuje układ tabeli oraz wyjaśnia jak jej użyć.',"1_3_1_H73.3.NoSummary":'Jeśli ta tabela zawiera dane, rozważ użycie atrybutu "summary" jako podsumowania zawartości tabeli.',"1_3_1_H39.3.LayoutTable":"Ta tabela wydaje się być przeznaczona do prezentacji układu strony, ale zawiera podpis <caption>. Tabele przeznaczone do układu nie mogą zawierać podpisu.","1_3_1_H39.3.Check":"Jeśli ta tabela zawiera dane, sprawdź, czy <caption> zawiera jej adekwatny opis.","1_3_1_H39.3.NoCaption":"Jeśli ta tabela zawiera dane, powinna być uzupełniona o podpis w znaczniku <caption>.","1_3_1_H71.NoLegend":"Fieldset nie ma opisu w postaci <legend>. Wszystkim znacznikom <fieldset> powinny towarzyszyć opisy w znaczniku <legend>.","1_3_1_H85.2":"Jeśli listy wyboru stanowią grupę, powinny być zgrupowane elementem <optgroup>.","1_3_1_H71.SameName":'Jeśli te pola "checkbox" i "radio" są powiązane, powinny być zgrupowane znacznikiem <fieldset>.',"1_3_1_H48.1":"Treść przypomina listę nieuporządkowaną. Jeśli jest to lista nieuporządkowana, powinna być oznaczona odpowiednimi znacznikami <ul>.","1_3_1_H48.2":"Treść przypomina listę uporządkowaną. Jeśli jest to lista uporządkowana, powinna być oznaczona odpowiednimi znacznikami <ol>.","1_3_1_G141_a":"Kolejność nagłówków nie jest poprawna. Element h{{headingNum}} umieszczony jest jako pierwszy, więc powinien być oznaczony jako h1.","1_3_1_G141_b":"Kolejność nagłówków nie jest poprawna. Nagłówek h{{headingNum}} powinien być oznaczony jako h{{properHeadingNum}}.","1_3_1_H42.2":"Nagłówek nie posiada tekstu. Tekst, który nie ma funkcji nagłówka nie powinien być oznaczony znacznikami do określania nagłówków.","1_3_1_H48":"Jeśli ten element zawiera nawigację, zaleca się, aby został oznaczony jako lista np. przy użyciu listy nieuporządkowanej <ul>.","1_3_1_LayoutTable":"Ta tabela wydaje się być przeznaczona do prezentacji układu strony. Jeśli jest inaczej, powinna zawierać nagłówki pod postacią <th>.","1_3_1_DataTable":'Jeżeli tabela jest wykorzystywana do tworzenia układu strony, nie powinna posiadać komórek <th> oraz atrybutu "summary", ani znacznika z opisem <caption>.',"1_3_2_G57":"Struktura i ułożenie elementów powinny oddawać sens strony i informacji.","1_3_3_G96":"Sprawdź, czy przekazane instrukcje nie opierają się tylko na właściwościach postrzegalnych przez zmysły takich jak kształt, wielkość czy umiejscowienie.","1_3_4.RestrictView":"Sprawdź, czy treść nie ogranicza widoku i działania do jednej orientacji wyświetlania, takiej jak pionowa lub pozioma, chyba że określona orientacja wyświetlania jest niezbędna","1_3_5_H98.FaultyValue":"Ten element ma prawdopodobnie błędną wartość w swoim atrybucie autocomplete: {{valuesStr}}.","1_3_5_H98.InvalidAutoComplete_Text":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Tekst.","1_3_5_H98.InvalidAutoComplete_Multiline":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Wielowierszowe.","1_3_5_H98.InvalidAutoComplete_Password":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Hasło.","1_3_5_H98.InvalidAutoComplete_Url":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Url.","1_3_5_H98.InvalidAutoComplete_Telephone":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Telefon.","1_3_5_H98.InvalidAutoComplete_Numeric":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Liczba.","1_3_5_H98.InvalidAutoComplete_Month":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Miesiąc.","1_3_5_H98.InvalidAutoComplete_Date":"Niepoprawna wartość autocomplete: {{x}}. Element nie należy do grupy kontrolki Data.","1_3_5_H98.Purpose":"Sprawdź, czy pole wprowadzania danych służy celowi określonemu w sekcji Przeznaczenie pól danych w komponentach interfejsu użytkowników (zobacz WCAG 2.1); oraz czy treeść jest zaimplementowana przy użyciu technologii z obsługą określania oczekiwanego znaczenia dla danych wejściowych formularza.","1_3_5_H98.MissingAutocomplete":"Ten element nie posiada atrybutu autocomplete. Jeśli to pole zbiera informacje o użytkowniku, rozważ jego dodanie, aby spełnić to kryterium sukcesu.","1_3_6_ARIA11.Check":"Sprawdź, czy można programowo określić przeznaczenie komponentów interfejsu użytkownika, ikon i regionów.","1_4_1_G14,G18":"Informacje przekazywane za pomocą kolorów powinny być również zapisywane w treści lub mieć inną postać alternatywną.","1_4_2_F23":"Jeżeli materiał audo włączany jest automatycznie i trwa dłużej niż trzy sekundy, należy umożliwić zatrzymanie bądź wyciszenie odtwarzania.","1_4_3_F24.BGColour":"Sprawdź, czy kolor tekstu odpowiada pod względem wymagań kontrastu kolorowi lub obrazkowi tła.","1_4_3_F24.FGColour":"Sprawdź, czy kolor elementu ma taki kolor tła lub w formie obrazka, który pasuje kontrastowo do elementu inline z tekstem.","1_4_3_G18_or_G145.Abs":"Ten element jest pozycjonowany absolutnie i nie jest możliwe zweryfikowanie jego kontrastu. Sprawdź, czy kontrast jest na wystarczającym poziomie: {{required}}:1.","1_4_3_G18_or_G145.BgImage":"Tekst elementu wyświetlany jest na obrazku. Należy upewnić się, że stosunek kontrastu tekstu do tła wynosi co najmniej {{required}}:1.","1_4_3_G18_or_G145.BgGradient":"Tekst tego elementu jest umieszczony na gradiencie. Upewnij się, że współczynnik kontrastu między tekstem a wszystkimi zakrytymi częściami gradientu wynosi co najmniej {{required}}:1.","1_4_3_G18_or_G145.Alpha":"Tekst lub tło tego elementu jest przezroczyste. Upewnij się, że współczynnik kontrastu między tekstem a tłem wynosi co najmniej {{required}}:1.","1_4_3_G18_or_G145.Fail":"Ten element ma niewystarczający na tym poziomie zgodności stosunek kontrastu tekstu do tła. Powinien wynosić co najmniej {{required}}:1, a tekst umieszczony w tym elemencie ma stosunek {{value}}:1.","1_4_3_G18_or_G145.Fail.Recomendation":"Zalecenie: ","1_4_3_G18_or_G145.Fail.Recomendation.Text":"zmiana koloru tekstu na {{value}}","1_4_3_G18_or_G145.Fail.Recomendation.Background":"zmiana koloru tła na {{value}}","1_4_4_G142":"Należy upewnić się, że tekst na stronie może być powiększony do 200% bez użycia technologii wspomagających.","1_4_5_G140,C22,C30.AALevel":"Sprawdź, czy stosowane technologie pozwalają na użycie tekstu w graficznej formie. Treść powinna być przekazana w formie tekstu, chyba że graficzna forma tekstu jest istotna z punktu widzenia samej informacji, która jest przekazywana.","1_4_6_G18_or_G17.Abs":"Ten element jest pozycjonowany absolutnie i nie jest możliwe zweryfikowanie jego kontrastu. Sprawdź samodzielnie czy kontrast jest na wystarczającym poziomie: {{required}}:1.","1_4_6_G18_or_G17.BgImage":"Tekst elementu wyświetlany jest na obrazku. Należy upewnić się, że stosunek kontrastu tekstu do tła wynosi conajmniej {{required}}:1.","1_4_6_G18_or_G145.BgGradient":"Tekst tego elementu jest umieszczony na gradiencie. Upewnij się, że współczynnik kontrastu między tekstem a wszystkimi zakrytymi częściami gradientu wynosi co najmniej {{required}}:1.","1_4_6_G18_or_G17.Fail":"Ten element ma niewystarczający stosunek kontrastu tekstu do tła. Powinien wynosić co najmniej {{required}}:1, a tekst umieszczony w tym elemencie posiada stosunek {{value}}:1.","1_4_6_G18_or_G17.Fail.Recomendation":"Zalecenie: ","1_4_6_G18_or_G17.Fail.Recomendation.Text":"zmiana koloru tekstu na {{value}}","1_4_6_G18_or_G17.Fail.Recomendation.Background":"zmiana koloru tła na {{value}}","1_4_7_G56":"Materiał audio, w którym występuje głównie mowa powinien mieć możliwość wyciszenia dźwięków tła lub narracja powinna być przynajmniej o 4 razy(20dB) głośniejsza niż tło.","1_4_8_G148,G156,G175":"Kolor tekstu oraz kolor tła powinny być możliwe do zmiany przez użytkownika na samej stronie lub poprzez funkcje przeglądarki. ","1_4_8_H87,C20":"Szerokość bloku tekstowego nie powinna przekraczać 80 znaków (40 w przypadku alfabetów: chińskiego, japońskiego i koreańskiego).","1_4_8_C19,G172,G169":"Tekst nie powinien być wyjustowany (tzn. wyrównany do prawego i lewego marginesu). Ewentualnie powinien istnieć mechanizm, który pozwala usunąć wyjustowanie.","1_4_8_G188,C21":"Odstępy między wierszami w akapitach powinny wynosić przynajmniej 1,5 wysokości linii, a odległość między akapitami powinna być przynajmniej 1,5 razy większa niż ta pomiędzy wierszami.","1_4_8_H87,G146,C26":"Tekst na stronie powinien mieć możliwość powiększenia do 200% bez użycia technologii wspomagających. Nie powinno być też wymagane przewijanie dolnym paskiem ekranu przy takim ustawieniu i zmaksymalizowanym oknie przeglądarki.","1_4_9_G140,C22,C30.NoException":"Sprawdź, czy teksty w formie grafiki pełnią wyłącznie funkcję dekoracyjną lub „graficzna” prezentacja tekstu ma znaczenie z uwagi na treść przekazywanej informacji.","1_4_10_C32,C31,C33,C38,SCR34,G206.Check":"Sprawdź, czy treść może być prezentowana bez utraty informacji lub funkcjonalności oraz bez konieczności przewijania w dwóch wymiarach dla: Treści przewijanej pionowo przy szerokości równoważnej 320 pikselom CSS; Treści przewijanej poziomo przy wysokości równoważnej 256 pikselom CSS; Z wyjątkiem części treści, które wymagają układu dwuwymiarowego ze względu na sposób korzystania lub znaczenie.","1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed":'Ten element ma "position: fixed". Może to wymagać przewijania w dwóch wymiarach, co jest uznawane za niepowodzenie tego kryterium sukcesu.',"1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling":"Tekst wstępnie sformatowany może wymagać przewijania w dwóch wymiarach, co jest uznawane za niepowodzenie tego kryterium sukcesu.","1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom":"Zakłócanie możliwości powiększania przez program użytkownika może być niepowodzeniem tego kryterium sukcesu.","1_4_11_G195,G207,G18,G145,G174,F78.Check":"Sprawdź, czy wizualna prezentacja poniższych elementów ma współczynnik kontrastu co najmniej 3:1 w stosunku do sąsiadującego koloru(ów): Komponenty interfejsu użytkownika: Informacje wizualne wymagane do identyfikacji komponentów i stanów interfejsu użytkownika, z wyjątkiem komponentów nieaktywnych lub gdy wygląd komponentu jest określany przez program użytkownika i nie jest modyfikowany przez autora; Obiekty graficzne: Części grafiki wymagane do zrozumienia treści, z wyjątkiem sytuacji, gdy szczególna prezentacja grafiki jest niezbędna do przekazania informacji.","1_4_12_C36,C35.Check":"Sprawdź, czy nie nastąpi utrata treści lub funkcjonalności, ustawiając wszystkie poniższe elementy i nie zmieniając żadnej innej właściwości stylu: Wysokość wiersza (odstęp między wierszami) co najmniej 1,5-krotność rozmiaru czcionki. Odstępy między akapitami - co najmniej 2-krotność rozmiaru czcionki; Odstępy między literami (tracking) - co najmniej 0,12-krotność rozmiaru czcionki; Odstępy między wyrazami - co najmniej 0,16 rozmiaru czcionki.","1_4_13_F95.Check":"Sprawdź, czy w przypadku, gdy otrzymanie, a następnie usunięcie najechania wskaźnikiem lub fokusu klawiatury powoduje, że dodatkowa treść staje się widoczna, a następnie ukryta, następujące elementy są prawdziwe: Odrzucone: Istnieje mechanizm umożliwiający odrzucenie dodatkowej treści bez przesuwania wskaźnika myszy lub fokusu klawiatury, chyba że dodatkowa treść przekazuje błąd wprowadzanych danych lub nie przesłania ani nie zastępuje innej treści; Wskazywane: Jeśli wskaźnik myszy (hover) może wyzwolić dodatkową treść, wówczas wskaźnik może zostać przeniesiony na dodatkową treść bez znikania dodatkowej treści; Trwałe: Dodatkowa treść pozostaje widoczna do momentu usunięcia wyzwalacza aktywacji lub fokusu, użytkownik odrzuca go lub jego informacje nie są już ważne.","2_1_1_G90":"Cała treść oraz wszystkie zawarte w niej funkcjonalności powinny być dostępne przy użyciu klawiatury.","2_1_1_SCR20.DblClick":"Funkcjonalność dostępna po dwukrotnym kliknięciu przyciskiem myszy, powinna być dostępna również przy użyciu klawiatury.","2_1_1_SCR20.MouseOver":"Funkcjonalność dostępna po najechaniu kursorem myszy na element, powinna być dostępna również przy użyciu klawiatury.","2_1_1_SCR20.MouseOut":"Funkcjonalność dostępna po opuszczeniu kursorem myszy elementu, powinna być dostępna również przy użyciu klawiatury.","2_1_1_SCR20.MouseMove":"Funkcjonalność dostępna z wykorzystaniem ruchów myszą, powinna być dostępna również przy użyciu klawiatury.","2_1_1_SCR20.MouseDown":"Funkcjonalność dostępna po wciśnięciu przycisku myszy, powinna być dostępna również przy użyciu klawiatury.","2_1_1_SCR20.MouseUp":"Funkcjonalność dostępna po zwolnieniu przycisku myszy, powinna być dostępna również przy użyciu klawiatury.","2_1_2_F10":"Sprawdź, czy dodatek lub applet pozwalają na uwolnienie fokusu, jeśli przejdzie on do tych funkcjonalności.","2_1_4.Check":"Sprawdź, czy jeśli skrót klawiaturowy jest zaimplementowany w treści przy użyciu tylko znaków literowych (w tym wielkich i małych liter), znaków interpunkcyjnych, cyfr lub symboli, to prawdziwa jest co najmniej jedna z poniższych sytuacji: Wyłączanie: Istnieje mechanizm wyłączania skrótu; Mapowanie: Istnieje mechanizm zmiany mapowania skrótu w celu użycia jednego lub więcej niedrukowalnych znaków klawiatury (np. Ctrl, Alt, itp.) Aktywny tylko po otrzymaniu fokusu: Skrót klawiaturowy dla komponentu interfejsu użytkownika jest aktywny tylko wtedy, gdy ten komponent ma fokus. ","2_2_1_F40.2":'Znacznik <meta> z atrybutem "redirect" przekierowuje na inną stronę w czesie określonym jako 0. Użytkownicy nie mają kontroli w taki krótkim czasie.',"2_2_1_F41.2":'Znacznik <meta> z atrybutem "refresh" odświeża aktualną stronę. Użytkownicy nie mają kontroli nad tym odświeżaniem.',"2_2_2_SCR33,SCR22,G187,G152,G186,G191":"Jeśli na stronie znajduje się element dynamiczny, animujący się dłużej niż 5 sekund powinien istnieć mechanizm umożliwiający zatrzymanie tego efektu.","2_2_2_F4":"Jeśli element miga dłużej niż 5 sekund powinien istnieć mechanizm, który umożliwi zatrzymanie migania.","2_2_2_F47":"Element <blink> nie spełnia wymagania o zatrzymaniu się migania w czasie 5 sekund.","2_2_3_G5":"Sprawdź, czy w serwisie nie występują ograniczenia czasowe, w działaniach użytkownika, chyba że dotyczy to odtwarzania plików multimedialnych lub działań transmitowanych na żywo.","2_2_4_SCR14":"Sprawdź, czy wszelkie przerwy lub przeszkody (np. automatyczna aktualizacja treści), mogą być wyłączone lub opóźnione przez użytkownika — chyba, że dotyczy to nagłych przypadków.","2_2_5_G105,G181":"Jeśli użytkownik zostanie wylogowany w trakcie procesu (np. krokowego), powinien mieć możliwość do powrotu do tego samego stanu procesu, w jakim był wcześniej.","2_2_6.Check":"Sprawdź, czy użytkownicy są ostrzegani o czasie trwania każdej bezczynności użytkownika, która może spowodować utratę danych, chyba że dane są przechowywane przez ponad 20 godzin, gdy użytkownik nie podejmuje żadnych działań.","2_3_1_G19,G176":"Elementy strony nie mogą błyskać częściej niż trzy razy w ciągu sekundy oraz jednocześnie obszar migający jest jak najmniejszy.","2_3_2_G19":"Elementy strony nie mogą migać częściej niż trzy razy w ciągu sekundy.","2_3_3.Check":"Sprawdź, czy animacja ruchu wywołana przez interakcję może być wyłączona, chyba że jest ona niezbędna dla funkcjonalności lub przekazywanej informacji.","2_4_1_H64.1":'Ramka <iframe> musi posiadać tytuł. Należy wypełnić atrybut "title" i zawrzeć w nim opis ramki.',"2_4_1_H64.2":"Tytuł ramki <iframe> powinień opisywać ją w możliwie najdokładniejszy sposób.","2_4_1_G1,G123,G124,H69":"Sprawdź, czy użytkownik może pominąć powtarzającą się nawigację. Można to zapewnić przez użycie skip-linków, nagłówków lub punktów orientacyjnych ARIA.","2_4_1_G1,G123,G124.NoSuchID":"Ten link wskazuje identyfikator {{id}}, ale takiego identyfikatora w dokumencie nie ma.","2_4_1_G1,G123,G124.NoSuchIDFragment":"Ten link wskazuje identyfikator {{id}} w dokumencie, ale takiego identyfikatora w testowanym obszarze nie ma.","2_4_2_H25.1.NoHeadEl":"Strona nie ma tytułu. Należy dodać znacznik <title> do sekcji nagłówkowej strony.","2_4_2_H25.1.NoTitleEl":"Strona nie ma tytułu. Należy dodać znacznik <title> do sekcji nagłówkowej strony lub wypełnić jego treść.","2_4_2_H25.1.EmptyTitle":"Znacznik <title> w sekcji nagłówkowej strony nie powinien być pusty.","2_4_2_H25.2":"Znacznik <title> w sekcji nagłówkowej strony powinien możliwie najdokładniej opisywać jej zawartość.","2_4_3_H4.2":'Jeśli został użyty atrybut "tabindex", relacje i następstwo treści są zrozumiałe dla użytkownika.',"2_4_4_H77,H78,H79,H80,H81,H33":'Sprawdź, czy treść linku wraz z kontekstem, w którym występuje lub dodatkową treścią w atrybucie "title" pozwala na zrozumienie funkcji / celu linku.',"2_4_4_H77,H78,H79,H80,H81":"Sprawdź, czy treść linku wraz z kontekstem, w którym występuje pozwala na zrozumienie funkcji/celu linku.","2_4_5_G125,G64,G63,G161,G126,G185":"Jeśli strona nie jest częścią procesu krokowego, sprawdź, czy jest więcej niż jeden sposób na dotarcie do tej strony.","2_4_6_G130,G131":"Nagłówki i etykiety powinny opisywać temat i/lub cel treści.","2_4_7_G149,G165,G195,C15,SCR31":"Każdy element możliwy do nawigacji za pomocą klawiatury, ma widoczny wskaźnik fokusu klawiatury.","2_4_8_H59.1":"Znacznik <link> może być umieszczony wyłącznie w sekcji <head>.","2_4_8_H59.2a":'Znacznik <link> nie ma atrybutu "rel", którego wartość wskazuje na typ i powiązanie linku.',"2_4_8_H59.2b":'Znacznik <link> nie ma adresu w atrybucie "href" — nie prowadzi do żadnego zasobu.',"2_4_9_H30":"Sprawdź, czy treść linku zrozumiale opisuje jego funkcję.","2_5_1.Check":"Sprawdź, czy wszystkie funkcje wykorzystujące do obsługi gesty wielopunktowe lub oparte na ścieżce można obsługiwać za pomocą pojedynczego wskaźnika bez gestu opartego na ścieżce, chyba że gest wielopunktowy lub oparty na ścieżce jest niezbędny.","2_5_2.SinglePointer_Check":"Sprawdź, czy dla funkcji, które mogą być obsługiwane za pomocą pomocą pojedynczego wskaźnika, przynajmniej jedno z poniższych jest prawdziwe: Brak zdarzenia: Naciskanie nie wywołuje jakiejkolwiek części zdarzenia; Przerwanie lub cofnięcie: Zdarzenie jest zależne od zwolnienia nacisku i istnieje mechanizm, którym można je przerwać lub cofnąć po zwolnieniu nacisku; Odwrócenie zdarzenia: Zwolnienie nacisku cofa wywołane zdarzenie i przywraca stan sprzed zdarzenia; Istotne: Wciśnięcie jest niezbędne do wywołania zdarzenia.","2_5_2.Mousedown_Check":"Ten element nasłuchuje zdarzeń mousedown (naciśniecie wskaźnika myszy). Sprawdź, czy dla funkcji, które mogą być obsługiwane za pomocą pojedynczego wskaźnika, przynajmniej jedna z poniższych wartości jest prawdziwa: Brak zdarzenia: Naciskanie nie wywołuje jakiejkolwiek części zdarzenia; Przerwanie lub cofnięcie: Zdarzenie jest zależne od zwolnienia nacisku i istnieje mechanizm, którym można je przerwać lub cofnąć po zwolnieniu nacisku; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.","2_5_2.Touchstart_Check":"Ten element nasłuchuje zdarzeń touchstart. Sprawdź, czy dla funkcji, które mogą być obsługiwane za pomocą pojedynczego wskaźnika, przynajmniej jedna z poniższych wartości jest prawdziwa: Brak zdarzenia: Naciskanie nie wywołuje jakiejkolwiek części zdarzenia; Przerwanie lub cofnięcie: Zdarzenie jest zależne od zwolnienia nacisku i istnieje mechanizm, którym można je przerwać lub cofnąć po zwolnieniu nacisku; Odwrócenie zdarzenia: Zwolnienie nacisku cofa wywołane zdarzenie i przywraca stan sprzed zdarzenia; Istotne: Wciśnięcie jest niezbędne do wywołania zdarzenia.","2_5_3_F96.Check":"Sprawdź, czy dla komponentów interfejsu użytkownika z etykietami, które zawierają tekst lub obrazy tekstu, nazwa zawiera tekst, który jest prezentowany wizualnie.","2_5_3_F96.AccessibleName":"Dostępna nazwa dla tego elementu nie zawiera widocznego tekstu etykiety. Sprawdź, czy dla komponentów interfejsu użytkownika z etykietami, które zawierają tekst lub obrazy tekstu, nazwa zawiera tekst, który jest prezentowany wizualnie.","2_5_4.Check":"Sprawdź, czy funkcje, które mogą być obsługiwane przez ruch urządzenia lub ruch użytkownika, mogą być również obsługiwane przez elementy interfejsu użytkownika, a reagowanie na ruch może być wyłączone, aby zapobiec przypadkowemu uruchomieniu, z wyjątkiem sytuacji, gdy: Obsługiwany interfejs: Ruch służy do obsługi funkcjonalności poprzez interfejs obsługiwany przez dostępność; Istotny: Ruch jest niezbędny dla funkcji, a to spowodowałoby unieważnienie działania. ","2_5_4.Devicemotion":"Ten element ma nasłuchiwanie zdarzeń devicemotion (ruch urządzenia). Sprawdź, czy funkcje, które mogą być obsługiwane przez ruch urządzenia lub ruch użytkownika, mogą być również obsługiwane przez elementy interfejsu użytkownika, a reagowanie na ruch może być wyłączone, aby zapobiec przypadkowemu uruchomieniu, z wyjątkiem sytuacji, gdy: Obsługiwany interfejs: Ruch służy do obsługi funkcjonalności poprzez interfejs obsługiwany przez dostępność; Istotny: Ruch jest niezbędny dla funkcji, a to spowodowałoby unieważnienie działania. ","2_5_5.Check":"Sprawdź, czy rozmiar celu punktu dotykowego wynosi co najmniej 44 na 44 piksele CSS, z wyjątkiem sytuacji, gdy: Odpowiednik: Cel jest dostępny za pośrednictwem równoważnego łącza lub kontrolki na tej samej stronie, która ma co najmniej 44 na 44 piksele CSS; Śródliniowe: Cel znajduje się w zdaniu lub w bloku tekstu; Kontrola programu użytkownika: Rozmiar obiektu docelowego jest określony przez program użytkownika (przeglądarkę) i nie jest modyfikowany przez autora; Istotny: Szczególna prezentacja celu ma istotne znaczenie dla przekazywanych informacji. ","2_5_6.Check":"Sprawdź, czy treść nie ogranicza korzystania z metod wprowadzania danych dostępnych na platformie, z wyjątkiem sytuacji, gdy ograniczenie jest niezbędne, wymagane do zapewnienia bezpieczeństwa treści lub wymagane do przestrzegania ustawień użytkownika.","3_1_1_H57.2":'Znacznik <html> musi posiadać atrybut "lang" określający język strony.',"3_1_1_H57.3.Lang":'Język zdefiniowany w atrybucie "lang" nie mógł zostać poprawnie zinterpretowany.',"3_1_1_H57.3.XmlLang":'Język zdefiniowany w atrybucie "xml:lang" nie mógł zostać poprawnie zinterpretowany. ',"3_1_2_H58":'Każda zmiana języka w treściach strony powinna być oznaczona atrybutem "lang" lub "xml:lang".',"3_1_2_H58.1.Lang":'Język zdefiniowany w atrybucie "lang" tego elementu nie mógł zostać poprawnie zinterpretowany.',"3_1_2_H58.1.XmlLang":'Język zdefiniowany w atrybucie "xml:lang" tego elementu nie mógł zostać poprawnie zinterpretowany.',"3_1_3_H40,H54,H60,G62,G70":"Sprawdź, czy jest zapewniony mechanizm, za pomocą którego można sprawdzić definicje słów użytych w nietypowy sposób, co odnosi się też do idiomów i żargonu.","3_1_4_G102,G55,G62,H28,G97":"Sprawdź, czy jest zapewniony mechanizm, za pomocą którego można sprawdzić znaczenie skrótów w ich rozwiniętej formie.","3_1_5_G86,G103,G79,G153,G160":"Jeśli dany tekst wymaga umiejętności czytania na poziomie wyższym niż poziom gimnazjalny, powinna być dostępna jego dodatkowa, uproszczona wersja.","3_1_6_H62.1.HTML5":"Element <ruby> nie zawiera znacznika znacznika <rt>, który opisuje sposób wymowy.","3_1_6_H62.1.XHTML11":"Element <ruby> nie zawiera znacznika <rt>, który opisuje sposób wymowy treści umieszczonej wewnątrz znacznika <rb>.","3_1_6_H62.2":"Element <ruby> nie zawiera znacznika <rp>, który zapewnia wsparcie dla przeglądarek niewspierających treści w znacznikach <ruby>.","3_2_1_G107":"Sprawdź, czy po przenieseniu fokusu na dany element formularza nie następuje zaskakująca dla użytkownika zmiana kontekstu (np. przeniesienie na inną stronę).","3_2_2_H32.2":'Formularz nie ma przycisku przesyłania. Może to sprawić problem użytkownikom posługującym się wyłącznie klawiaturą. Przycisk może być elementem <button> lub elementem <input> z atrybutem "submit" lub "image".',"3_2_3_G61":"Sprawdź, czy powtarzające się na stronach elementy nawigacyjne są umieszczone w tej samej kolejności. Dopuszczalna jest zmiana kolejności przez samego użytkownika.","3_2_4_G197":"Elementy, które posiadają tę samą funkcjonalność, muszą być zidentyfikowane/oznaczone w ten sam sposób na wszystkich stronach serwisu.","3_2_5_H83.3":"Linki otwierające się w nowym oknie lub karcie przeglądarki powinny mieć taką informację w swojej treści.","3_3_1_G83,G84,G85":"Jeśli przy wpisywaniu informacji, błąd zostanie wykryty automatycznie, system powinien wskazać błędny element, a użytkownik otrzymać opis błędu w postaci tekstu.","3_3_2_G131,G89,G184,H90":"Jeżeli wymagane jest wprowadzenie treści przez użytkownika, powinny być dostępne zrozumiałe instrukcje i wskazówki.","3_3_3_G177":"Jeśli przy wpisywaniu informacji błąd zostanie wykryty automatycznie, użytkownik powinien otrzymać sugestię korekty, chyba że wpłynie to negatywnie na bezpieczeństwo systemu.","3_3_4_G98,G99,G155,G164,G168.LegalForms":"Sprawdź, czy użytkownik może sprawdzić i zmienić informacje wprowadzone w formularzu, zanim ostatecznie potwierdzi jego wysłanie. Jest to szczególnie ważne w sytuacji, gdy użytkownik podaje informacje prawne lub finansowe.","3_3_5_G71,G184,G193":"Sprawdź, czy w formularzu jest dostępna pomoc kontekstowa na samej stronie lub na stronie służącej do potwierdzenia wprowadzonych treści.","3_3_6_G98,G99,G155,G164,G168.AllForms":"Sprawdź, czy użytkownik może sprawdzić i zmienić informacje wprowadzone w formularzu, zanim ostatecznie potwierdzi jego wysłanie.","4_1_2_H91.A.Empty":'Link ma atrybut "id", nie ma jednak ani adresu w atrybucie "href" ani treści. Rozważ przeniesienie identyfikatora do elementu nadrzędnego.',"4_1_2_H91.A.EmptyWithName":'Link ma atrybut "name", ale nie ma ani adresu ani treści. Rozważ przeniesienie wartości atrybutu "name" do identyfikatora elementu nadrzędnego jako "id".',"4_1_2_H91.A.EmptyNoId":"Link nie ma treści, ani nazwy ani identyfikatora.","4_1_2_H91.A.NoHref":"Link nie powinien być używany do tworzenia wewnętrznych odniesień na stronie. Jeśli identyfikator jest używany do styli CSS lub oskryptowania JS, rozważ przeniesienie identyfikatora od elementu nadrzędnego (rodzica).","4_1_2_H91.A.Placeholder":'Link ma jedynie treść. Brakuje adresu w atrybucie "href", identyfikatora ani nazwy (atrybutu "name").',"4_1_2_H91.A.NoContent":'Link ma prawidłowy adres w atrybucie "href", ale nie ma treści linku.',"4_1_2_input_element":"pole formularza","4_1_2_element_content":"zawartość elementu","4_1_2_element":"element","4_1_2_msg_pattern":"{{msgNodeType}} nie ma prawidłowej nazwy (np. atrybutu) dla API dostępności. Dopuszczalne opcje to: {{builtAttrs}}","4_1_2_msg_pattern_role_of_button":'element ma rolę "button" ale nie posiada prawidłowej nazwy (np. atrybutu) dla "accessibility API". Dopuszczalne opcje to: {{builtAttrs}}',"4_1_2_msg_pattern2":"{{msgNodeType}} nie ma wartości, która mogłaby być dostępna dla API dostępności.","4_1_2_msg_add_one":"Dodaj jedną opcję do elementu.","4_1_2_msg_pattern3":"Ten typ {{msgNodeType}} nie ma początkowo wybranej opcji. W zależności od twojej wersji HTML, wartość wystawiona na API dostępności może być niezdefiniowana.","4_1_2_value_exposed_using_attribute":"Wartość jest eksponowana za pomocą atrybutu {{requiredValue}} attribute.","4_1_2_value_exposed_using_element":"Wartość jest eksponowana za pomocą atrybutu {{requiredValue}} element.","4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check":"Sprawdź, czy komunikaty o stanie mogą być programowo określane poprzez rolę lub właściwości, tak aby mogły być prezentowane użytkownikowi przez technologie wspomagające bez otrzymywania fokusu."},e.HTMLCS_Section508={name:"Section508",description:"U.S. Section 508 Standard",sniffs:["A","B","C","D","G","H","I","J","K","L","M","N","O","P"]},e.HTMLCS_Section508_Sniffs_A={get register(){return["_top","img","object","bgsound","audio"]},process:function(e,t){e===t?(this.addNullAltTextResults(t),this.addMediaAlternativesResults(t)):"OBJECT"!==(t=e.nodeName)&&"BGSOUND"!==t&&"AUDIO"!==t||HTMLCS.addMessage(HTMLCS.NOTICE,e,"For multimedia containing audio only, ensure an alternative is available, such as a full text transcript.","Audio")},testNullAltText:function(e){var t={img:{generalAlt:[],missingAlt:[],ignored:[],nullAltWithTitle:[],emptyAltInLink:[]},inputImage:{generalAlt:[],missingAlt:[]},area:{generalAlt:[],missingAlt:[]}};for(let n of HTMLCS.util.getAllElements(e,'img, area, input[type="image"]')){let e=!1,r=!1,o=!1;if("A"===n.parentNode.nodeName){var i=HTMLCS.util.getPreviousSiblingElement(n,null),a=HTMLCS.util.getNextSiblingElement(n,null);if(null===i&&null===a){let t=n.parentNode.textContent;t=void 0!==n.parentNode.textContent?n.parentNode.textContent:n.parentNode.innerText,!0===HTMLCS.util.isStringEmpty(t)&&(e=!0)}}switch(!1===n.hasAttribute("alt")?r=!0:n.getAttribute("alt")&&!0!==HTMLCS.util.isStringEmpty(n.getAttribute("alt"))||(o=!0),n.nodeName){case"IMG":!0!==e||!0!==r&&!0!==o?(!0===r?t.img.missingAlt:!0===o?!0===n.hasAttribute("title")&&!1===HTMLCS.util.isStringEmpty(n.getAttribute("title"))?t.img.nullAltWithTitle:t.img.ignored:t.img.generalAlt).push(n):t.img.emptyAltInLink.push(n.parentNode);break;case"INPUT":(!0===r||!0===o?t.inputImage.missingAlt:t.inputImage.generalAlt).push(n);break;case"AREA":(!0===r||!0===o?t.area.missingAlt:t.inputImage.generalAlt).push(n)}}return t},addNullAltTextResults:function(e){for(let t of(e=this.testNullAltText(e)).img.emptyAltInLink)HTMLCS.addMessage(HTMLCS.ERROR,t,"Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.","Img.EmptyAltInLink");for(let t of e.img.nullAltWithTitle)HTMLCS.addMessage(HTMLCS.ERROR,t,"Img element with empty alt text must have absent or empty title attribute.","Img.NullAltWithTitle");for(let t of e.img.ignored)HTMLCS.addMessage(HTMLCS.WARNING,t,"Img element is marked so that it is ignored by Assistive Technology.","Img.Ignored");for(let t of e.img.missingAlt)HTMLCS.addMessage(HTMLCS.ERROR,t,"Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.","Img.MissingAlt");for(let t of e.img.generalAlt)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Ensure that the img element's alt text serves the same purpose and presents the same information as the image.","Img.GeneralAlt");for(let t of e.inputImage.missingAlt)HTMLCS.addMessage(HTMLCS.ERROR,t,"Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.","InputImage.MissingAlt");for(let t of e.inputImage.generalAlt)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Ensure that the image submit button's alt text identifies the purpose of the button.","InputImage.GeneralAlt");for(let t of e.area.missingAlt)HTMLCS.addMessage(HTMLCS.ERROR,t,"Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.","Area.MissingAlt");for(let t of e.area.generalAlt)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.","Area.GeneralAlt")},testMediaTextAlternatives:function(e){var t={object:{missingBody:[],generalAlt:[]},applet:{missingBody:[],missingAlt:[],generalAlt:[]}};for(let i of HTMLCS.util.getAllElements(e,"object"))null===i.querySelector("object")&&(""===HTMLCS.util.getElementTextContent(i,!0)?t.object.missingBody:t.object.generalAlt).push(i);for(let a of HTMLCS.util.getAllElements(e,"applet")){let e=!1;null===a.querySelector("object")&&(i=HTMLCS.util.getElementTextContent(a,!0),!0===HTMLCS.util.isStringEmpty(i))&&(t.applet.missingBody.push(a),e=!0);var i=a.getAttribute("alt")||"";HTMLCS.util.isStringEmpty(i)&&(t.applet.missingAlt.push(a),e=!0),e||t.applet.generalAlt.push(a)}return t},addMediaAlternativesResults:function(e){for(let t of(e=HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_1_1_1_1.testMediaTextAlternatives(e)).object.missingBody)HTMLCS.addMessage(HTMLCS.ERROR,t,"Object elements must contain a text alternative after all other alternatives are exhausted.","Object.MissingBody");for(let t of e.object.generalAlt)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.","Object.GeneralAlt");for(let t of e.applet.missingBody)HTMLCS.addMessage(HTMLCS.ERROR,t,"Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.","Applet.MissingBody");for(let t of e.applet.missingAlt)HTMLCS.addMessage(HTMLCS.ERROR,t,"Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.","Applet.MissingAlt");for(let t of e.applet.generalAlt)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.","Applet.GeneralAlt")}},e.HTMLCS_Section508_Sniffs_B={get register(){return["object","applet","embed","video"]},process:(e,t)=>{HTMLCS.addMessage(HTMLCS.NOTICE,e,"For multimedia containing video, ensure a synchronised audio description or text alternative for the video portion is provided.","Video"),HTMLCS.addMessage(HTMLCS.NOTICE,e,"For multimedia containing synchronised audio and video, ensure synchronised captions are provided for the audio portion.","Captions")}},e.HTMLCS_Section508_Sniffs_C={get register(){return["_top"]},process:(e,t)=>{HTMLCS.addMessage(HTMLCS.NOTICE,t,"Ensure that any information conveyed using colour alone is also available without colour, such as through context or markup.","Colour")}},e.HTMLCS_Section508_Sniffs_D={get register(){return["_top"]},process:function(t,i){t===i&&(HTMLCS.addMessage(HTMLCS.NOTICE,i,"Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.","Linearised"),e.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_3_1_3_1.testPresentationMarkup(i),this.testHeadingOrder(i),HTMLCS.util.getAllElements(i,'script, link[rel="stylesheet"]').length)&&HTMLCS.addMessage(HTMLCS.NOTICE,i,'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.',"HiddenText")},testHeadingOrder:function(e){let t=0;for(let a of HTMLCS.util.getAllElements(e,"h1, h2, h3, h4, h5, h6")){var i=parseInt(a.nodeName.substring(1,2));if(1<i-t){let e="should be an h"+(t+1)+" to be properly nested";0===t&&(e="appears to be the primary document heading, so should be an h1 element"),HTMLCS.addMessage(HTMLCS.ERROR,a,"The heading structure is not logically nested. This h"+i+" element "+e+".","HeadingOrder")}t=i}}},e.HTMLCS_Section508_Sniffs_G={get register(){return["table"]},process:(e,t)=>{HTMLCS.util.isLayoutTable(e)&&HTMLCS.addMessage(HTMLCS.NOTICE,e,"This table has no headers. If this is a data table, ensure row and column headers are identified using th elements.","TableHeaders")}},e.HTMLCS_Section508_Sniffs_H={get register(){return["table"]},process:(e,t)=>{var i=HTMLCS.util.testTableHeaders(e);for(let e of i.wrongHeaders)HTMLCS.addMessage(HTMLCS.ERROR,e.element,'Incorrect headers attribute on this td element. Expected "'+e.expected+'" but found "'+e.actual+'"',"IncorrectHeadersAttr");i.required&&!i.allowScope&&(i.used?(0<i.missingThId.length&&HTMLCS.addMessage(HTMLCS.ERROR,e,"Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.","MissingHeaderIds"),0<i.missingTd.length&&HTMLCS.addMessage(HTMLCS.ERROR,e,"Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.","IncompleteHeadersAttrs")):HTMLCS.addMessage(HTMLCS.ERROR,e,"The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.","MissingHeadersAttrs"))}},e.HTMLCS_Section508_Sniffs_I={get register(){return["frame","iframe","object"]},process:(e,t)=>{var i=e.nodeName.toLowerCase();!0===(e.hasAttribute("title")&&HTMLCS.util.isStringEmpty(e.getAttribute("title")))&&HTMLCS.addMessage(HTMLCS.ERROR,t,"This "+i+" element is missing title text. Frames should be titled with text that facilitates frame identification and navigation.","Frames")}},e.HTMLCS_Section508_Sniffs_J={get register(){return["_top"]},process:(e,t)=>{HTMLCS.addMessage(HTMLCS.NOTICE,t,"Check that no component of the content flickers at a rate of greater than 2 and less than 55 times per second.","Flicker")}},e.HTMLCS_Section508_Sniffs_K={get register(){return["_top"]},process:(e,t)=>{HTMLCS.addMessage(HTMLCS.NOTICE,t,"If this page cannot be made compliant, a text-only page with equivalent information or functionality should be provided. The alternative page needs to be updated in line with this page's content.","AltVersion")}},e.HTMLCS_Section508_Sniffs_L={get register(){return["_top"]},process:function(e,t){e===t&&(this.addProcessLinksMessages(t),this.testKeyboard(t))},addProcessLinksMessages:function(e){for(let t of(e=this.processLinks(e)).emptyNoId)HTMLCS.addMessage(HTMLCS.ERROR,t,"Anchor element found with no link content and no name and/or ID attribute.","EmptyAnchorNoId");for(let t of e.placeholder)HTMLCS.addMessage(HTMLCS.WARNING,t,"Anchor element found with link content, but no href, ID, or name attribute has been supplied.","PlaceholderAnchor");for(let t of e.noContent)HTMLCS.addMessage(HTMLCS.ERROR,t,"Anchor element found with a valid href attribute, but no link content has been supplied.","NoContentAnchor")},processLinks:function(e){var t={empty:[],emptyWithName:[],emptyNoId:[],noHref:[],placeholder:[],noContent:[]};for(let a of HTMLCS.util.getAllElements(e,"a")){var i=HTMLCS.util.getElementTextContent(a);let e=!1;!1===(e=!0===a.hasAttribute("href")&&!1===/^\s*$/.test(a.getAttribute("href"))||e)?(!0===/^\s*$/.test(i)?a.hasAttribute("id")?t.empty:a.hasAttribute("name")?t.emptyWithName:t.emptyNoId:a.hasAttribute("id")||a.hasAttribute("name")?t.noHref:t.placeholder).push(a):!0===/^\s*$/.test(i)&&0===a.querySelectorAll("img").length&&t.noContent.push(a)}return t},testKeyboard:function(e){for(let t of HTMLCS.util.getAllElements(e,"*[ondblclick]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by double-clicking on this element is available through the keyboard.","DblClick");for(let t of HTMLCS.util.getAllElements(e,"*[onmouseover]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.","MouseOver");for(let t of HTMLCS.util.getAllElements(e,"*[onmouseout]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.","MouseOut");for(let t of HTMLCS.util.getAllElements(e,"*[onmousemove]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by moving the mouse on this element is available through the keyboard.","MouseMove");for(let t of HTMLCS.util.getAllElements(e,"*[onmousedown]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.","MouseDown");for(let t of HTMLCS.util.getAllElements(e,"*[onmouseup]"))HTMLCS.addMessage(HTMLCS.WARNING,t,"Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.","MouseUp")}},e.HTMLCS_Section508_Sniffs_M={get register(){return["object","applet","bgsound","embed","audio","video"]},process:(e,t)=>{HTMLCS.addMessage(HTMLCS.NOTICE,e,"If external media requires a plugin or application to view, ensure a link is provided to a plugin or application that complies with Section 508 accessibility requirements for applications.","PluginLink")}},e.HTMLCS_Section508_Sniffs_N={get register(){return["form"]},process:(e,t)=>{"FORM"===e.nodeName&&(HTMLCS.addMessage(HTMLCS.NOTICE,e,"If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.","Errors"),HTMLCS.addMessage(HTMLCS.NOTICE,e,"Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.","Labels"),HTMLCS.addMessage(HTMLCS.NOTICE,e,"Ensure that this form can be navigated using the keyboard and other accessibility tools.","KeyboardNav"))}},e.HTMLCS_Section508_Sniffs_O={get register(){return["_top","a","area"]},process:(e,t)=>{if(e===t)HTMLCS.addMessage(HTMLCS.NOTICE,t,"Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.","SkipLinks");else if(e.hasAttribute("href")){var i=e.getAttribute("href").trim();if(1<i.length&&"#"===i.charAt(0)){i=i.substring(1);try{let a=t,n=(a.ownerDocument&&(a=a.ownerDocument),null);null!==(n=a&&"function"==typeof a.getElementById&&null===(n=a.getElementById(i))?a.querySelector('a[name="'+i+'"]'):n)&&!1!==HTMLCS.util.contains(t,n)||(!0===HTMLCS.isFullDoc(t)||"BOD