3.2.6Poziom A

Spójna pomoc

Consistent Help

Powtarzana pomoc zachowuje kolejność względem treści stron zbioru, poza zmianą układu zainicjowaną przez użytkownika.

Komu pomaga
Pamięć i koncentracjaNiewidzenieSłabowidzenie
Zastosowanie
WWWAplikacje mobilneAplikacje desktopoweDokumenty cyfroweInne urządzenia

Warunki i wyjątki opisano w artykule.

Wersja
WCAG 2.2, wprowadzone w 2.2
Zasada / wytyczna
Zrozumiałość / 3.2
Stan researchu
Draft AI. Bez przeglądu człowieka.
Redakcja artykułu
· wersja robocza
Na tej stronie

Co oznacza to kryterium

Gdy pomoc powtarza się na stronach tego samego zbioru, zachowaj jej kolejność względem reszty treści w tej samej odmianie układu. Użytkownik może wtedy wrócić do zapamiętanego punktu pomocy podczas problemu z zadaniem. Wyjątek obejmuje zmianę układu zainicjowaną przez użytkownika.

Kryterium nie wymaga stworzenia pomocy, umieszczenia jej na każdej stronie ani kontaktu z człowiekiem przez całą dobę.

Potrzeba Bariera, którą ogranicza spójny porządek
cognitive — Pamięć i koncentracja Przeniesiona pomoc zmusza do ponownego szukania podczas trudności z zadaniem.
blindness — Niewidzenie Stały punkt w sekwencji treści pomaga odnaleźć znany mechanizm; czytnika nie testowano.
low-vision — Słabowidzenie Znane sąsiedztwo ułatwia znalezienie linku w oglądanym fragmencie ekranu.

Przykłady błędów i poprawek

Własna Pracownia ma dwie strony wspólnego autora i celu: ustalenie odbioru i podsumowanie syntetycznego P-104. Treść podaje ul. Ogrodową 8 i piątek 10:00–18:00. Obie strony powtarzają „Pomoc przy odbiorze”, działający link do lokalnej samopomocy z instrukcją pokazania numeru obsłudze.

Problem: bad przenosi ten sam blok przed treść na drugiej stronie. Skutek: użytkownik przechodzący zwykłym Następny krok musi ponownie szukać pomocy. Poprawka: wspólny szablon umieszcza ją po treści obu kroków; samo przejście nie oznacza żądania reorganizacji.

Wariant Rzeczywiste zachowanie Znaczenie
good Treść → pomoc na pickup i review. Zachowany porządek badanej pary.
bad Pickup: treść → pomoc; review: pomoc → treść. FAIL warunku 3.2.6 w zbiorze stron.
control Jawne Przenieś pomoc na początek na review, ten wybór zachowany na pickup; reset wraca do końca. Wykonany wyjątek inicjatywy użytkownika.
visual CSS pokazuje pomoc na górze review, DOM i AX pozostają treść → pomoc. Nie wykazano naruszenia 3.2.6; kontrola fałszywego alarmu z obrazu.
absent Pomoc na pickup, brak na review również w AX. Brak powtórzenia w tej parze; sam brak pomocy nie daje FAIL.
Good pickup: Pomoc przy odbiorze po treści punktu odbioru P-104.

2026-10-04, Codex IAB/macOS, surowy JPEG. Pierwsza strona ma samopomoc po treści; działający cel sprawdzono osobnym otwarciem linku.

Good review: pomoc pozostaje po podsumowaniu odbioru.

Po zwykłym Następny krok porządek treść → pomoc pozostał taki sam. DOM/AX uzupełniają obraz o kolejność serializacji; nie jest to odczyt VoiceOver.

Bad review: ten sam link pomocy przed podsumowaniem.

Przejście z bad/pickup przeniosło pomoc przed treść bez prośby o zmianę układu. To własne odtworzenie błędu w rzeczywistym zbiorze stron.

Control review: pomoc na początku po użyciu Przenieś pomoc na początek.

Zapis wejścia potwierdza jawne żądanie zmiany układu i zachowanie wyboru po powrocie. Surowy JPEG 1265×712 px ze scrollbarem; nie kadrowano go ręcznie.

Visual review: pomoc wizualnie na początku, w DOM i AX po treści.

CSS przesuwa blok, ale serializowany porządek pozostaje treść → pomoc. Obraz podobny do bad nie wystarcza do FAIL 3.2.6; nie jest to test czytnika.

Natywna analogia

Flutter/Cupertino odtwarza odbiór, podsumowanie, samopomoc w dialogu i jawne przeniesienie bloku w jednej aplikacji. Cykl good → bad → control zachowuje krok i usuwa ręczne ustawienie; reset przywraca początkową trasę i dane, a nieznana konfiguracja wraca do pickup/good. Przełączenie wariantu jest narzędziem demonstracji, nie preferencją użytkownika podczas ocenianego przejścia.

iOS good review: Pomoc przy odbiorze za treścią podsumowania.

iPhone 17 Simulator / iOS 26.5, Flutter/Cupertino, końcowa próba 2026-10-04. Stała kolejność pokazuje dobrą praktykę w jednym programie; warunek zbioru programów nie zachodzi.

iOS bad review: pomoc przed nagłówkiem podsumowania.

Natywny odczyt po tap potwierdza przestawiony blok w analogii. Nie nadajemy tej różnicy normatywnego FAIL dla zbioru programów ani statusu wypowiedzi VoiceOver.

Kiedy obowiązuje i gdzie są wyjątki

  • Wymaganie normatywne: dotyczy powtarzanych w zbiorze stron danych kontaktowych człowieka, mechanizmu kontaktu z człowiekiem, samopomocy i w pełni automatycznego kontaktu. Pomoc może być bezpośrednia lub przez link. Porównuje się kolejność względem treści w tej samej odmianie układu, nie identyczne współrzędne pikseli.
  • Interpretacja Understanding: przejście na następną stronę nie jest wyjątkiem zmiany układu przez użytkownika. Wyjątek obejmuje intencjonalną reorganizację lub zmianę powiększenia, orientacji czy rozmiaru widoku; porównania nadal dotyczą tej samej odmiany.
  • Brak pomocy na części stron sam w sobie nie narusza 3.2.6. Nie ma obowiązku dostępności człowieka przez całą dobę. Statyczny PDF pobrany ze strony nie staje się stroną tego zbioru; jego ewentualny zbiór dokumentów ocenia się odrębnie.
  • Sama zmiana położenia wizualnego przy zachowanej kolejności serializacji nie wystarcza do FAIL 3.2.6, choć może pogorszyć użyteczność. Odmienne cele mogą tworzyć odrębne zbiory. Pomoc kontekstowa przy polu jest innym zagadnieniem niż ogólny punkt samopomocy.
  • G220, technika pomocnicza: link do kontaktu w spójnym miejscu, z kontrolą programowego i wizualnego porządku. Jej procedura zachęca do dostępności linku na wszystkich stronach; nie zamienia tego w normatywny obowiązek dodania pomocy. Nasz link prowadzi do samopomocy, a nie do kontaktu z człowiekiem, więc nie deklarujemy pełnego wykonania G220.
  • Aktualny Understanding wymienia błąd „Inconsistent Help Location” bez osobnego numeru F. Opisane good/bad/control są własnymi fixture, bez danych o częstości błędów i bez utożsamiania ich z oficjalnym testem.

Platformy

Poza WWW podstawą interpretacji jest WCAG2ICT, Group Note 2025-12-11, a nie osobna norma zgodności. Poniższa klasyfikacja nie ustala obowiązków prawnych; EN 301 549 nie jest podstawą tego wykonania i nie dokonano mapowania jej wersji.

ID / środowisko Podstawa / ID Stan Warunek, adaptacja i uzasadnienie Weryfikacja 2026-10-04
web / WWW WCAG 2.2 / 3.2.6 dotyczy warunkowo Pomoc powtórzona na stronach zbioru; bez adaptacji. Obejmuje przeglądarkę telefonu. AI; lokalne WWW wykonane
mobile / aplikacje mobilne WCAG 2.2 + WCAG2ICT 2025-12-11 / 3.2.6 dotyczy warunkowo Adaptacja do zbioru programów. Ekrany jednej aplikacji nie tworzą zbioru; przykład natywny jest dobrą praktyką. AI; analogia iOS wykonana; Android NOT-RUN
desktop / aplikacje desktopowe ta sama interpretacja / 3.2.6 dotyczy warunkowo Jak dla mobilnego oprogramowania; liczba okien nie rozstrzyga warunku. AI; native NOT-RUN
document / dokumenty cyfrowe ta sama interpretacja / 3.2.6 dotyczy warunkowo Adaptacja do zbioru dokumentów; pomoc musi się powtarzać między dokumentami. AI; odbiornik NOT-RUN
other / kiosk WCAG 2.2 lub WCAG2ICT 2025-12-11 / 3.2.6 dotyczy warunkowo WWW jak web, program jak mobile; tabela nie ocenia sprzętu. AI; urządzenie NOT-RUN

Zbiór programów wymaga wspólnego celu/autora, wspólnej dystrybucji, niezależnego uruchamiania i wzajemnej nawigacji każdego programu do pozostałych. Zbiór dokumentów ma wspólny cel/autora, publikację i wzajemne odwołania. Nie dotyczy badanego scenariusza natywnego: Runner jest jednym programem, więc warunek zbioru nie zachodzi. Nie jest to wyłączenie całej platformy. W hybrydzie trzeba osobno ocenić treść webową.

Rozwiązania w technologiach

Wspólny obszar pomocy po treści każdego kroku ogranicza rozbieżności. Dla pojedynczej aplikacji natywnej jest to dobra praktyka; dla powtarzanej pomocy między członkami rzeczywistego zbioru programów rozwiązanie wymaga także spójnego wdrożenia w pozostałych programach. W osadzonym WWW należy zachować odpowiednią kolejność HTML; samo naprawienie natywnego przycisku nie naprawia strony.

Flutter / Dart

Istotny fragment wykonanej demonstracji, osadzony w Column wewnątrz SingleChildScrollView; help jest nazwanym CupertinoButton.filled otwierającym lokalny CupertinoAlertDialog:

final top = _userTop || (_variant == 'bad' && _review);
// Lista children wspólnej kolumny:
if (top) help,
content,
if (!top) help,

To wycinek kontekstu, nie samodzielny program. Wariant good nie uzależnia miejsca pomocy od kroku. Pełny plik wraz z importem package:flutter/cupertino.dart zbudowano na iOS; natywny odbiornik sprawdza geometrię i kolejność drzewa, a nie tylko listę widgetów.

iOS / SwiftUI

import SwiftUI

struct HelpLayout<Content: View>: View {
    let content: Content
    let onHelp: () -> Void
    var body: some View {
        ScrollView {
            VStack(alignment: .leading, spacing: 16) {
                content
                Button("Pomoc przy odbiorze", action: onHelp)
            }
        }
    }
}

Osadzić HelpLayout(content: widokKroku, onHelp: otworzPomoc) w każdym kroku. Callback musi faktycznie otworzyć pomoc, np. w istniejącej nawigacji; fragment określa wspólną strukturę, nie implementuje kontaktu z osobą. Nie zmieniać kolejności osobnym priorytetem dostępności.

Android / Jetpack Compose

import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable

@Composable
fun HelpLayout(content: @Composable () -> Unit, onHelp: () -> Unit) {
    Column {
        content()
        Button(onClick = onHelp) { Text("Pomoc przy odbiorze") }
    }
}

Wspólny kontener zachowuje pomoc po treści; przewijanie zapewnia otaczający układ aplikacji. Nie kopiować osobno stopki i nie przenosić jej warunkowo zależnie od ekranu. Androida nie uruchamiano.

React Native

import type { ReactNode } from 'react';
import { Pressable, ScrollView, Text } from 'react-native';

export function HelpLayout({
  children,
  onHelp,
}: {
  children: ReactNode;
  onHelp: () => void;
}) {
  return (
    <ScrollView>
      {children}
      <Pressable accessibilityRole="button" onPress={onHelp}>
        <Text>Pomoc przy odbiorze</Text>
      </Pressable>
    </ScrollView>
  );
}

Dzieci pozostają przed pomocą; treść i callback dostarcza ekran. Otaczający układ musi ograniczać wysokość ScrollView, np. przez przekazanie flex: 1 w hierarchii kontenerów. Dla aplikacji używającej WebView sprawdzić osobno DOM osadzonej strony.

HTML / CSS / JavaScript

<main id="content"><!-- Treść danego kroku --></main>
<nav aria-label="Pomoc">
  <a href="support.html">Pomoc przy odbiorze</a>
</nav>

pickup.html i review.html mają ten szablon, help.js wybiera wyłącznie fixture, a support.html dostarcza samopomoc. Najprostsza poprawka produkcyjna: pozostawić wspólny szablon bez warunku przenoszącego pomoc na drugim kroku; warianty celowo istnieją tylko w researchu.

Technologia Przegląd oficjalnych API Kompilacja / typecheck Działanie
Flutter AI 2026-10-04: CupertinoButton, dialog, Semantics PASS rzeczywistej aplikacji, Flutter 3.44.9 / Dart 3.12.2; wycinek nie jest oddzielnym buildem Wykonane na iOS Simulatorze
SwiftUI AI 2026-10-04: VStack, Button, ScrollView; dokumentacja Apple odczytana jako Markdown po ograniczeniu narzędzia WWW NOT-RUN fragmentu NOT-RUN; build Fluttera nie potwierdza SwiftUI
Compose AI 2026-10-04: Column, Button, Text NOT-RUN fragmentu NOT-RUN
React Native AI 2026-10-04: View, Pressable, ScrollView NOT-RUN fragmentu NOT-RUN
HTML/CSS/JS AI 2026-10-04: struktura HTML i natywny link; DOM i AX rzeczywistego odbiornika Bez kompilacji; odczyt i wykonanie JS w przeglądarce Wykonane w Codex/macOS

Brak buildów edukacyjnych fragmentów SwiftUI, Compose i React Native mieści się w uzgodnionym zakresie, nie tworzy automatycznych TODO. Ich wersji SDK nie podajemy jako użytych. Wersja przeglądarki/engine nie została udostępniona przez API obserwacji; metadane podają nazwę odbiornika i faktyczne rozmiary.

Jak sprawdzić

  1. Ustal rzeczywisty zbiór, kategorię i działający cel pomocy oraz odmianę układu. Najpierw sprawdź, czy natywny program należy do zbioru; nie zrównuj jego ekranów ze stronami.
  2. Porównaj pickup i review po zwykłym Następny krok: good ma pomoc po treści, bad przestawia ją przed treść. Zapisz porządek struktury oraz kontekst wizualny.
  3. Otwórz pomoc i sprawdź instrukcję odbioru. Sama etykieta bez działającego celu nie potwierdza samopomocy.
  4. W control jawnie przenieś blok, wróć i zresetuj. W visual porównaj geometrię z DOM/AX; w absent sprawdź brak również w strukturze.
  5. Zapisz wejścia i wyniki, osobno zakres konkretnego układu i zbioru. Dwie strony demonstracji nie potwierdzają całej aplikacji.

Rzeczywiste wykonanie źródła

Próba pochodzi z 2026-10-04 Europe/Warsaw; UTC części materiałów wskazuje 2026-10-03. Migracja 2026-10-12 nie ponawia wykonania.

Sprawdzenie Wynik i zakres
Flutter Analiza PASS; 34 testy hostowe PASS, w tym cztery nowe 3.2.6, bez Androida. Build Flutter/iOS i drivera XCTest PASS.
Pierwszy XCTest FAIL przed przechwyceniem: testowa konwersja CGFloat na Double.
Druga próba FAIL przedwczesnej asercji zniknięcia przycisku podczas animacji zamknięcia dialogu; zachowano dwa odczyty, trzy tap i dwa kadry jako dane częściowe.
Końcowy XCTest PASS: 1 test / 0 błędów, 49,618 s, 18 stanów, 19 tap, cztery PNG, trzy drzewa dialogu oraz krótka kontrola dawnej trasy 3.2.2. Aplikacja identyczna między próbami; driver czekał na faktyczne zniknięcie dialogu.
Odbiornik webowy 14 odczytów z AX, 13 wejść: good, bad, control, visual, absent i działający cel pomocy.
Kontrola dowodów PASS sekwencji i geometrii znanej fixture, mediów, hashów i linków; nie walidator zgodności.
Media Obejrzane przez AI: pięć obrazów webowych, cztery końcowe iOS, dwa częściowe iOS; bez retuszu. Bez filmu/audio, pomiarów czasu lub kontrastu tego wymagania.
Człowiek NOT-RUN.

Flutter 3.44.9 / Dart 3.12.2; iPhone 17 Simulator / iOS 26.5. Odbiornik webowy Codex/macOS nie udostępnił wersji silnika. Większość JPEG ma 1280×720 px; control 1265×712 px. Odczyty DOM zapisują osobno obszar klienta, który nie jest metadanymi pikseli obrazu. Drzewo, odczyt i screenshot są sekwencyjne.

Weryfikacja i ograniczenia

Metoda Możliwy wniosek Granica
Reguła deterministyczna fixture Porównanie pozycji tego samego bloku względem content na znanych stronach Zakłada prawidłowo ustalony zbiór, mechanizm i odmianę układu; nie odkrywa ich sama
Przybliżenie z drzewa Względny porządek znanych punktów w DOM/AX/XCTest Identyczne nazwy mogą prowadzić do różnych celów; drzewa natywne nie tworzą zbioru programów
Ocena AI obrazu Kandydat przeniesienia pomocy visual wygląda jak bad, ale wymaga innego wniosku; pojedynczy kadr nie wystarcza
Ocena człowieka Ustalenie intencji zmiany układu i zakresu produktu NOT-RUN; automatyczny zapis wejścia nie jest zatwierdzeniem interpretacji

Brak pomocy nie dowodzi naruszenia tego kryterium, a brak wykrytej zmiany nie potwierdza całej aplikacji. Zmiana ekranu zainicjowana przyciskiem nawigacji nie jest równoznaczna ze świadomą zmianą układu. Do oceny potrzebne są co najmniej porównywane stany i cel pomocy, a często także zapis wyboru użytkownika.

ID, adresy i ustawienia demonstracji ujawniają wariant. W zaślepionej ocenie nie mogą zastąpić obserwacji ani przekazywać oczekiwanego wyniku.

Jak sprawdza Clearship

Clearship zbiera set-evidence-1 w P0: kandydatów na zbiór ze stanów wspólnego tytułu, kontrolki nazwane Pomoc, Wsparcie, Czat, FAQ lub Infolinia i ich porządek przed/za treścią oraz względem wspólnych elementów. Strony zmieniane w jednym widoku wymagają zapisanych obserwacji akcji actionEvidence.

Wynik zawsze wymaga człowieka (incomplete); Android i iOS mają not-measured, bez progu. Człowiek ustala kwalifikację zbioru, rzeczywisty typ/cel pomocy, odmianę układu i intencję jego zmiany. Dane kontaktowe w treści, pomoc po rozwinięciu i Kontakt w nawigacji pozostają w dowodach do oceny, bez osobnego rozpoznania jako pomoc.

Brak pomocy, kandydata albo odczytu nie daje ani usterki 3.2.6, ani wyniku „nie znaleźliśmy problemów”. Sama geometria i zwykłe przejście na kolejną stronę nie rozstrzygają wyjątku. Dowody jednej aplikacji nie tworzą zbioru programów; demonstracja nie jest pomiarem tej metody. Ręczna ocena nie oznacza zamówienia usługi człowieka.

Powiązane kryteria