=== WCAGshield by Dostepni.online ===
Contributors: dostepni
Tags: accessibility, alt text, woocommerce, media library
Requires at least: 6.2
Requires PHP: 7.4
Stable tag: 3.2.0
License: GPLv2 or later

WCAGshield by Dostepni.online brings accessible content tools to WordPress: AI alt text, plain language in Gutenberg, and accessibility checks before publishing. Requires a Dostępni.online account with tokens or an active unlimited pass.

== Działanie ==

Na pulpicie wtyczki znajduje się dyskretna sekcja z odnośnikiem do kursów i pozostałej oferty Dostępni.online oraz skrótem do pakietów narzędzi. Link zewnętrzny jest oznaczony jako otwierany w nowej karcie.

Panel administratora jest podzielony na zakładki: Pulpit, Audyt witryny, Biblioteka mediów, Integracja i reguły oraz Narzędzia. Raport audytu można filtrować i pobrać jako CSV. Z wyników można otworzyć publiczny podgląd i uruchomić w przeglądarce axe DevTools albo Accessibility Insights for Web. Te rozszerzenia badają wyrenderowaną stronę i są uruchamiane przez użytkownika. Administrator może przeskanować opublikowane treści w panelu Dostępni; redaktorzy widzą raport własnych treści, które mogą edytować i filtrować raport według typu treści oraz wykrytego problemu. Skan obejmuje wpisy i publiczne typy treści, działa partiami i nie wprowadza zmian. Wyniki zawierają bezpośrednie odnośniki do edycji. Administrator ma też bezpłatny raport „Strażnik theme.json i Global Styles”, który czyta scalone ustawienia motywu i użytkownika: paletę, jawne pary kolorów tekstu/tła, rozmiary tekstu i tokeny odstępów.
Panel administratora jest podzielony na zakładki: Pulpit, Audyt witryny, Biblioteka mediów, Integracja i reguły oraz Narzędzia. Raport audytu można filtrować i pobrać jako CSV. Z wyników można otworzyć publiczny podgląd i uruchomić w przeglądarce axe DevTools albo Accessibility Insights for Web. Te rozszerzenia badają wyrenderowaną stronę i są uruchamiane przez użytkownika. Administrator może przeskanować opublikowane treści w panelu Dostępni; redaktorzy widzą raport własnych treści, które mogą edytować i filtrować raport według typu treści oraz wykrytego problemu. Skan obejmuje wpisy i publiczne typy treści, działa partiami i nie wprowadza zmian. Wyniki zawierają bezpośrednie odnośniki do edycji. Administrator ma też bezpłatny raport „Strażnik theme.json i Global Styles”, który czyta scalone ustawienia motywu i użytkownika: paletę, jawne pary kolorów tekstu/tła, rozmiary tekstu i tokeny odstępów. Accessibility Update Sentinel porównuje ograniczony zestaw wykrywalnych problemów HTML na maksymalnie ośmiu wskazanych stronach przed i po aktualizacjach motywów oraz wtyczek; jego wynik pojawia się także w Site Health.

WCAGshield pokazuje wynik automatycznej kontroli treści w skali 0–100 w edytorze, metaboxie wpisu i widżecie głównego kokpitu WordPressa. Kontrola obejmuje także brak tytułu strony lub wpisu. Wynik pomaga śledzić wykrywalne problemy redakcyjne, ale nie jest certyfikatem zgodności z WCAG.

W zakładce „Audyt witryny” administrator może uruchomić test podróży klienta WooCommerce w nowej karcie sklepu: produkt, koszyk, checkout i metody płatności. Krótkotrwała sesja testowa wstrzykuje skrypt tylko dla administratora; wyniki są przechowywane w sessionStorage tej karty i można pobrać je jako CSV. Test obserwuje zmiany DOM, fokus i interakcje, raportuje wybrane problemy etykiet, komunikatów, walidacji i modalnego koszyka. Wymaga zgodnego originu kokpitu i witryny. Produkt trafia do bieżącego koszyka, ale przyciski złożenia zamówienia i wysyłka checkoutu są blokowane; test nie uruchamia płatności. Można sprawdzić natywną walidację przeglądarki, ale nie walidację serwerową wymagającą wysłania zamówienia. To częściowa kontrola przeglądarkowa, nie pełny test axe ani gwarancja działania każdego niestandardowego checkoutu.

Miernik kontrastu, skaner PDF i przypisywanie zadań audytowych są dostępne przy aktywnym Planie Nielimitowanym (w tym aktywnych przepustkach bez limitu). Status konta sprawdza serwer Dostępni.online; saldo tokenów nie odblokowuje funkcji premium. Skan PDF działa partiami po pięć plików, szuka typowych operatorów tekstowych w próbce i wskazuje pozycje do ręcznej kontroli. Nie rozpakowuje strumieni PDF ani nie potwierdza tagów, kolejności czytania lub jakości OCR. Można przerwać skanowanie; wyniki częściowe są oznaczone.

Wtyczka kolejkuje nowe obrazy do przetworzenia w tle i zapisuje wygenerowany opis w standardowym polu „Tekst alternatywny” załącznika. W panelu „Dostępni” pokazuje saldo, pakiet oraz postęp zadań. Można tam przeskanować Bibliotekę mediów, obejrzeć miniatury zdjęć bez ALT, wybrać konkretne pliki lub zaznaczyć pierwszą wybraną liczbę wyników, a następnie uruchomić generowanie. Pomijane są obrazy z uzupełnionym ALT. Błąd API nie blokuje dodania pliku.

== Konfiguracja ==

1. W WordPressie otwórz pozycję „WCAGshield” w głównym menu kokpitu i kliknij „Połącz z Dostępni.online”.
2. Zaloguj się lub załóż konto i potwierdź połączenie witryny. Wtyczka sama odbierze i zapisze klucz API; klucz nie pojawia się w adresie strony. Klucz można też utworzyć ręcznie w Ustawieniach > WordPress – WCAGshield na dostepni.online i wkleić w zakładce „Integracja i reguły”.
3. Włącz automatyczne opisy w zakładce „Integracja i reguły”. Tokeny i Plan Nielimitowany kupisz w zakładce „Pakiety”; płatność odbywa się w sklepie Dostępni.online. Przycisk „Odłącz witrynę” usuwa klucz z WordPressa i unieważnia go na koncie.
4. Dodaj obraz do Biblioteki mediów. ALT pojawi się w polu tekstu alternatywnego po przetworzeniu zadania w tle. Aby opisać starsze obrazy, uruchom skan w panelu „WCAGshield”.

Każdy wygenerowany opis oraz każde uproszczenie kosztuje 1 token. Przed uruchomieniem skanowania wtyczka pokazuje szacowany koszt i sprawdza dostępne saldo. Przy aktywnej przepustce bez limitu token nie jest pobierany. WooCommerce jest obsługiwany; obrazy produktu są kolejkowane przy zapisie produktu. Zadania kolejki mają osobne rekordy i mogą być wstrzymane, wznowione oraz ponowione. Odpowiedzi HTTP 429 są ponawiane maksymalnie trzy razy. Po utracie połączenia lub odpowiedzi serwera zadanie otrzymuje status „Wymaga sprawdzenia rozliczenia”; administrator powinien najpierw sprawdzić historię Dostępni.online. Ręczne ponowienie wymaga potwierdzenia i może pobrać kolejny token.

Płatne funkcje AI wymagają osobnego uprawnienia `use_wcagshield_ai`. Po aktualizacji otrzymuje je administrator; dodatkowe role można włączyć w panelu. Domyślne limity wynoszą 20 operacji dziennie na użytkownika i 200 na witrynę. Administrator może je zmienić, a dziennik ostatnich operacji zawiera identyfikatory żądań bez zapisywania przesyłanej treści.

== Gutenberg ==

Aby uprościć fragment, zaznacz tekst w akapicie i wybierz „Uprość zaznaczenie — Dostępni”. Najpierw zobaczysz koszt i saldo. Po wygenerowaniu propozycji porównasz ją z oryginałem i zdecydujesz, czy zastąpić zaznaczenie. Operacja kosztuje 1 token.

Centrum dostępności w edytorze pokazuje problemy i pozwala przejść do wskazanego bloku. Dostępni sprawdza kolejność i puste nagłówki, brakujący ALT, tytuły osadzonych ramek, puste lub ogólne etykiety linków, nieopisane przyciski oraz tabele bez komórek nagłówkowych. Wykryte błędy blokują publikację zarówno w edytorze, jak i przy zapisie przez REST API. Klasyczny edytor WordPressa otrzymuje analogiczny komunikat podczas redagowania i blokadę przy próbie publikacji. Szkice można nadal zapisywać. Automatyczna kontrola obejmuje wybrane, mierzalne problemy i nie zastępuje oceny sensu treści, kontrastu ani pełnego audytu WCAG.

W bloku obrazu można wybrać „Wygeneruj ALT — Dostępni”. Przed uruchomieniem wtyczka pokazuje koszt i saldo, a po zatwierdzeniu generuje opis i zapisuje go w Bibliotece mediów oraz bloku.

W edytorze bloku obrazu można też ustawić ALT wyłącznie dla tego użycia albo oznaczyć obraz jako dekoracyjny w tym miejscu. Taka zmiana zapisuje się w atrybutach bloku i nie nadpisuje globalnego ALT załącznika, dzięki czemu ten sam plik może mieć różne opisy w różnych kontekstach.

Przed publikacją panel pokazuje również zalecenia dotyczące długich akapitów, bardzo długich zdań, skrótów i podziału treści na sekcje. Administrator wybiera w regułach wtyczki, które wykrycia blokują publikację, a które są zaleceniami. Przy każdym wpisie zapisuje się raport z ostatniego sprawdzenia, dostępny w panelu bocznym edytora. Przycisk „Popraw automatycznie” porządkuje poziomy nagłówków i usuwa puste nagłówki; nie zmienia znaczenia tekstu, etykiet linków ani tekstów alternatywnych.

== Privacy ==

Plik obrazu, tytuł załącznika, podpis i opis są wysyłane do Dostępni.online w celu wygenerowania tekstu alternatywnego. Zaznaczony fragment tekstu jest wysyłany do uproszczenia w Gutenbergie. Wtyczka przesyła także adres witryny, aby powiązać użycie z kontem. Opisy i stan integracji są zapisywane w WordPressie. Klucz API jest przechowywany w ustawieniach WordPressa i można go unieważnić na koncie Dostępni.online. Kontrola dostępności przed publikacją działa w edytorze WordPressa.

== Changelog ==

= 3.2.0 =
* Dodano na pulpicie wtyczki sekcję z odnośnikiem do kursów i pozostałej oferty Dostępni.online oraz skrótem do zakładki „Pakiety”.
* Link zewnętrzny otwiera się w nowej karcie, co jest zapowiedziane czytnikom ekranu.

= 3.1.0 =
* Dodano przeglądarkowy test podróży WooCommerce z obserwacją dynamicznych zmian i fokusu, testem natywnej walidacji bez wysyłania zamówienia oraz eksportem CSV.
* Test uruchamia się w odizolowanej karcie z krótkotrwałą sesją administratora zamiast osadzać frontend w kokpicie.

= 3.0.0 =
* Dodano interaktywny test podróży WooCommerce, który obserwuje dostępność po zmianach DOM, kliknięciach, zmianach pól i fokusu na stronie produktu, koszyka i checkoutu.
* Test nie wysyła zamówienia ani nie uruchamia płatności; wyniki można pobrać jako CSV.

= 2.9.0 =
* Dodano Accessibility Update Sentinel z migawkami stron przed aktualizacją motywu/wtyczki, raportem nowych wykryć i selektorów oraz kontrolowanym przyciskiem wyłączenia zaktualizowanej wtyczki.
* Sentinel sprawdza tylko ograniczony zestaw reguł HTML; nie zastępuje axe, testów JavaScript ani pełnego audytu WCAG.

= 2.8.0 =
* Dodano kontekstowy ALT dla bloku obrazu oraz oznaczanie obrazu jako dekoracyjnego tylko w danym miejscu, bez zmiany globalnego ALT załącznika.

= 2.7.0 =
* Dodano Strażnika theme.json i Global Styles: raport palety, własnych kolorów edytora, tokenów typografii i odstępów oraz kontrastu jawnie zdefiniowanych par kolorów.
* Raport wskazuje ograniczenia analizy CSS i nie przedstawia deklaracji motywu jako pełnego testu powiększenia ani wyrenderowanej strony.

= 2.6.0 =
* Raport wpisu pokazuje zmianę wyniku i problemy dodane lub usunięte od poprzedniego zapisu.

= 2.5.0 =
* Dodano osobne uprawnienie do płatnych funkcji AI oraz konfigurację ról.
* Dodano limity dzienne, ograniczenie częstotliwości i dziennik użycia.
* Dziennik zapisuje każdą operację w niezależnym rekordzie, aby równoległe żądania nie nadpisywały historii.
* Dodano trwałe identyfikatory żądań i nagłówek idempotencji.
* Klucz API jest przechowywany w osobnej opcji bez autoload.
* Zaostrzono walidację odpowiedzi i adresów zwracanych przez API.
* Obsłużono pusty ALT zwracany dla obrazów dekoracyjnych i zachowanie poprzedniego tytułu przy zablokowanej aktualizacji.

= 2.3.0 =
* Dodano wynik automatycznej kontroli treści 0–100.
* Dodano widżet stanu dostępności na głównym kokpicie WordPressa.
* Dodano wykrywanie i opcjonalne blokowanie publikacji treści bez tytułu.
* Ujednolicono nazwę WCAGshield w interfejsie redakcyjnym.
