1.3.3Poziom A

Właściwości zmysłowe

Sensory Characteristics

Instrukcje muszą identyfikować cel również bez rozpoznawania wyłącznie jego wyglądu, położenia lub dźwięku.

Komu pomaga
NiewidzenieSłabowidzenieNiesłyszenie i niedosłuchPamięć i koncentracja
Zastosowanie
WWWAplikacje mobilneAplikacje desktopoweDokumenty cyfroweInne urządzenia

Warunki i wyjątki opisano w artykule.

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

Co oznacza to kryterium

Nazwij element, którego użytkownik ma użyć. Instrukcja „naciśnij «Pokaż adres»” pozwala odnaleźć działanie przez nazwę; sam „owalny przycisk po prawej” wymaga widzenia kształtu i położenia. Wskazówki sensoryczne mogą pozostać uzupełnieniem jednoznacznej identyfikacji.

Pomaga to osobom korzystającym bez widzenia, oglądającym fragment ekranu przy powiększeniu i potrzebującym jednoznacznych odniesień. Dla instrukcji opartych na sygnale dźwiękowym pomaga również odbiorcom bez słuchu. Własna para poniżej nie obejmuje audio.

Przykłady błędów i poprawek

Odbiór zamówienia #1042 w Pracowni

Użytkownik chce poznać adres punktu Pracownia dla zamówienia #1042. Instrukcja wskazuje „Pokaż adres”, a taki sam napis i nazwa występują na jednym przycisku. Drugi przycisk, „Pokaż godziny”, wykonuje inną czynność. Adres ujawnia się po aktywacji; w stanie początkowym nie jest podany jako alternatywna wskazówka dla błędnej instrukcji.

iOS Simulator, Cupertino: instrukcja podaje Pokaż adres; przyciski Pokaż godziny i Pokaż adres są obok siebie.

Własna demonstracja Pracowni, 2026-10-02. Surowy obraz z rzeczywistego uruchomienia; daje kontekst, bez potwierdzenia odczytu czytnikiem.

Surowy screenshot rzeczywistego uruchomienia, bez retuszu lub AI. Po aktywacji nazwanego działania pojawia się „Adres: ul. Przykładowa 10.”:

iOS Simulator, poprawiony wariant po dotknięciu Pokaż adres: widoczny adres ul. Przykładowa 10.

Własna demonstracja Pracowni, 2026-10-02. Surowy obraz z rzeczywistego uruchomienia; daje kontekst, bez potwierdzenia odczytu czytnikiem.

Dowód pokazuje trwały wynik interakcji XCTest, nie korzystanie z VoiceOver.

Dane wszystkich wariantów: punkt Pracownia, zamówienie #1042, ukryty początkowo adres ul. Przykładowa 10 i godziny 9:00–17:00. Dwa przyciski mają jednakowe kolory i widoczne nazwy; lewy ma prostokątne tło, prawy owalne. Cel, callbacks, nazwy, kolejność i początkowy stan danych pozostają takie same. Jedyna istotna różnica to tekst instrukcji. Minimalna wysokość bloku instrukcji utrzymuje położenie przycisków w przechwyconym rozmiarze; przy większym tekście blok może rosnąć.

Wariant Instrukcja i ocena badanego warunku
Błędny /1-3-3/instructions/bad „Sprawdź szczegóły odbioru: naciśnij owalny przycisk po prawej.” Nazwane kontrolki nie udostępniają związku nazwa–owalny/prawy; instrukcja wymaga cech sensorycznych.
Poprawiony /1-3-3/instructions/good „Sprawdź szczegóły odbioru: naciśnij «Pokaż adres».” Cel jest identyfikowany nazwą.
Kontrola /1-3-3/instructions/control „Sprawdź szczegóły odbioru: naciśnij owalny przycisk «Pokaż adres» po prawej.” Nazwa wystarcza; kształt i położenie są uzupełnieniem.
iOS Simulator, błędny wariant: instrukcja wskazuje wyłącznie owalny przycisk po prawej, choć oba przyciski mają nazwy.

Własna demonstracja Pracowni, 2026-10-02. Surowy obraz z rzeczywistego uruchomienia; daje kontekst, bez potwierdzenia odczytu czytnikiem.

To błąd instrukcji, nie demonstracja bezimiennych kontrolek ani użycia samego koloru. Ogólne „szczegóły odbioru” pasują do obu działań: godzin i adresu. Usunięcie kształtu i położenia nie pozwala wskazać jednego celu; widoczne i programowe nazwy nie zawierają określeń „owalny” ani „po prawej”. Ocenę tej granicy pozostawiono do przeglądu człowieka.

iOS Simulator, kontrola: instrukcja łączy owalny kształt i położenie z jednoznaczną nazwą Pokaż adres.

Własna demonstracja Pracowni, 2026-10-02. Surowy obraz z rzeczywistego uruchomienia; daje kontekst, bez potwierdzenia odczytu czytnikiem.

Analogiczny przypadek edukacyjny dla dźwięku: instrukcja „po krótkim sygnale naciśnij «Odbierz»” bez innej informacji o gotowości zależy od słyszenia. Poprawka dodaje dostępny komunikat „Gotowe do odbioru” i wiąże z nim instrukcję; sygnał może pozostać uzupełnieniem. Nie wygenerowano ani nie testowano tego audio — główna para obejmuje kształt i położenie.

Kiedy obowiązuje i gdzie są wyjątki

Wymaganie normatywne dotyczy instrukcji potrzebnych do rozumienia i obsługi treści, a nie zakazu używania kształtów, układu czy dźwięków. Zestawienie dwóch cech sensorycznych, np. kształtu i położenia, nadal może zależeć wyłącznie od percepcji. Nie ma ogólnego wyjątku „instrukcja jest krótka” ani „kontrolki mają już nazwy”. Trzeba sprawdzić całą dostępną informację: czy istnieje równoważna droga identyfikacji.

  • Jednoznaczna etykieta lub opis funkcji może dostarczyć identyfikacji niezależnej od cech sensorycznych. Nazwa musi rzeczywiście pasować do celu i pozwalać odróżnić go od innych elementów; kilka przycisków „Więcej” wymaga kontekstu.
  • Określenia „poniżej” lub „powyżej” mogą odwoływać się do kolejności czytania. Gdy odniesienie jest jednoznaczne i treść znajduje się we właściwym miejscu tej kolejności, samo takie słowo nie dowodzi błędu. To ocena kontekstu, nie globalne wyłączenie położenia.
  • Instrukcje dotyczące dotykowych cech fizycznego sprzętu nie są automatycznie zakazane tą regułą. Nie przenosić tego na wirtualny przycisk, którego kształt jest dostępny tylko wizualnie.
  • Nie mylić orientacji opisanego elementu z orientacją ekranu w rejestrze: ograniczenie obrotu urządzenia to inny warunek, 1.3.4.
  • 1.4.1 bada wyłączne wizualne kodowanie informacji kolorem. Status kolorem bez instrukcji nadal wymaga oceny 1.4.1; nie jest z tego powodu automatycznie przypadkiem 1.3.3. Instrukcja „wybierz zielony przycisk” może wymagać sprawdzenia obu. Zastąpienie koloru kształtem może pomóc w 1.4.1, lecz nadal nie zapewnić identyfikacji dla 1.3.3.
  • Sama poprawa accessibilityLabel na przycisku nie naprawia instrukcji, która wciąż mówi tylko o wyglądzie. Z kolei poprawna instrukcja nie dowodzi poprawnej roli, nazwy, kolejności ani obsługi całego UI; te aspekty wymagają własnego sprawdzenia.

G96 jest pomocniczą techniką identyfikacji tekstowej, a F14 i F26 opisują konkretne warunki błędu. Nie są dodatkowym normatywnym obowiązkiem używania danego widgetu. Wpis odtwarza własny przypadek F14; F26 pomaga odróżnić legendę samych znaków od legendy z dostępnym znaczeniem, ale nie ma tu osobnej demonstracji symboli.

Platformy

Środowisko Sposób zastosowania i warunek Status weryfikacji
WWW i aplikacje webowe, także na telefonie WCAG: bez zmiany wymagania, jeżeli instrukcja wskazuje element treści lub sposób jego obsługi. Research merytoryczny AI; bez testu w przeglądarce.
Aplikacje mobilne, Android i iOS WCAG2ICT: bez zmiany wymagania; instrukcja w aplikacji może wskazywać nazwę kontrolki zamiast samego wyglądu. Wykonano Flutter/Cupertino na iOS Simulator. Android i fizyczny iPhone NOT-RUN.
Aplikacje desktopowe WCAG2ICT: bez zmiany wymagania, np. pomoc wskazująca działanie w panelu. Research AI; brak uruchomienia.
Dokumenty cyfrowe poza WWW, np. PDF WCAG2ICT: bez zmiany wymagania, np. objaśnienie symboli formularza lub harmonogramu. Research AI; brak testu dokumentu.
Oprogramowanie kiosku lub telewizora Część webowa jak WWW, oprogramowanie poza WWW według WCAG2ICT bez zmiany wymagania; dotyczy instrukcji w treści. Research AI; brak testu. Sprzęt i dotykowe oznaczenia przycisków wymagają osobnej oceny.

WCAG2ICT jest wskazówką interpretacyjną dla oprogramowania i dokumentów poza WWW, nie odrębnym certyfikatem. Klasyfikacja z 2026-10-02 nie rozstrzyga obowiązku prawnego ani nie potwierdza pozostałych platform. Brak instrukcji sensorycznej w jednym ekranie nie wyłącza całej platformy; hybryda wymaga rozróżnienia treści webowej i natywnej.

Źródło nie wskazuje daty wydania użytej WCAG2ICT. Zachowujemy jego datę i status odczytu; konwersja nie jest ponowną weryfikacją normy.

Rozwiązania w technologiach

Dla wszystkich czterech technologii zmieniamy instrukcję na nazwę dostępną również na kontrolce. Fragmenty są edukacyjne, osadzone w istniejącym ekranie; callback showAddress / pokazAdres ujawnia adres. Oficjalne API przeglądnięto 2026-10-02. Nie wymagamy nowej zależności ani specjalnej właściwości „sensory characteristics”.

Android / Compose

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

@Composable
fun AddressInstruction(showAddress: () -> Unit) {
    Column {
        Text("Sprawdź szczegóły odbioru: naciśnij „Pokaż adres”.")
        Button(onClick = showAddress) { Text("Pokaż adres") }
    }
}

Instrukcja odwołuje się do tekstowej etykiety standardowego przycisku. NOT-RUN: bez kompilacji, Androida i TalkBack; nie podajemy nieużytej wersji Compose.

iOS / SwiftUI

import SwiftUI

struct AddressInstruction: View {
    let showAddress: () -> Void
    var body: some View {
        VStack(alignment: .leading) {
            Text("Sprawdź szczegóły odbioru: naciśnij „Pokaż adres”.")
            Button("Pokaż adres", action: showAddress)
        }
    }
}

Tekstowa etykieta Button identyfikuje działanie; nie trzeba wskazywać pozycji. Kontrola składni swiftc -typecheck nie uruchamia widoku ani VoiceOver; status w wynikach. Nie utworzono osobnej aplikacji SwiftUI.

Flutter

import 'package:flutter/cupertino.dart';

Widget addressInstruction(VoidCallback showAddress) => Column(
  crossAxisAlignment: CrossAxisAlignment.start,
  children: [
    const Text('Sprawdź szczegóły odbioru: naciśnij „Pokaż adres”.'),
    CupertinoButton(onPressed: showAddress, child: const Text('Pokaż adres')),
  ],
);

Wspólna implementacja zawiera również drugi przycisk, kontrolę i reset. Użyto Flutter 3.44.9 / Dart 3.12.2; analiza, build i testy dotyczą tej rzeczywistej implementacji. Krótki fragment wyżej ma osobną kontrolę analizy, bez uruchomienia jako osobnego ekranu.

React Native

import React from 'react';
import { Button, Text, View } from 'react-native';

export function AddressInstruction({
  showAddress,
}: {
  showAddress: () => void;
}) {
  return (
    <View>
      <Text>Sprawdź szczegóły odbioru: naciśnij „Pokaż adres”.</Text>
      <Button title="Pokaż adres" onPress={showAddress} />
    </View>
  );
}

title i instrukcja używają tej samej nazwy. NOT-RUN: bez kompilacji, uruchomienia React Native i czytnika; build Fluttera ich nie potwierdza.

Jak sprawdzić

Wybrano działający Flutter na iOS, ponieważ badany warunek dotyczy instrukcji i jednoznaczności jej odniesienia przy rzeczywistych kontrolkach. Cztery screenshoty pokazują parę, kontrolę i trwały skutek działania. Nie potrzeba filmu dla stałego tekstu; nie ma dźwięku, pomiaru czasu ani animacji wymaganej przez tę barierę.

  1. Uruchom trasę błędną na dedykowanym symulatorze. Przeczytaj instrukcję i wszystkie nazwy; sprawdź, czy tekst albo dostępna alternatywa wiąże wskazanie z jednym działaniem bez kształtu i położenia.
  2. Odtwórz poprawiony wariant z tymi samymi danymi. Dopasuj nazwę w instrukcji do dokładnie jednego przycisku. Aktywuj „Pokaż adres”; oczekiwany wynik: ul. Przykładowa 10. „Pokaż godziny” powinien pokazać 9:00–17:00.
  3. Sprawdź kontrolę: po pominięciu słów o kształcie i położeniu nazwa nadal identyfikuje ten sam element. Nie flaguj tej instrukcji wyłącznie z powodu słowa „prawej”.
  4. Przełącz warianty w ustawieniach i zresetuj. Oczekiwane: wynik znika, reset przywraca wariant początkowej trasy. Porównaj geometrię i nazwy obu przycisków między wariantami.
  5. Plan, NOT-RUN: włącz rzeczywisty VoiceOver na dostępnym iOS, odczytaj instrukcję i etykiety, znajdź oraz aktywuj nazwane działanie bez obserwacji ekranu. Zapisz faktyczną mowę i działanie; nie podkładaj syntezy tekstu ani kolejności węzłów jako wyniku tego testu.

Natywny test wykonuje dotknięcia i asercje na zainstalowanej aplikacji. Drzewa XCTest pokazują instrukcje oraz role/nazwy przycisków, lecz nie są transkrypcją VoiceOver. Screenshot nie dowodzi niewidocznej semantyki. Ocena językowego odniesienia instrukcji jest oceną AI; nie wynika z samych asercji.

Weryfikacja i ograniczenia

Historyczne wykonanie: 2026-10-02, Flutter 3.44.9 / Dart 3.12.2, iPhone 17 / iOS Simulator 26.5, Cupertino, pion i jasny wygląd, 402 × 874 pt. Oględziny były oceną AI.

Sprawdzenie Wynik i granica
Wymaganie i oficjalne API Przegląd AI 2026-10-02; bez człowieka
Flutter Analiza PASS, 11 testów PASS, build i instalacja iOS PASS; nazwy, dane, obie akcje, geometria, zmiana/reset
Zainstalowana aplikacja 1 XCTest / 0 failures, 38,437 s; rzeczywiste dotknięcia obu działań i ustawień
Native snapshoty Instrukcja StaticText, przyciski Button; adres ma tę samą ramkę 207/447/151/52 pt we wszystkich wariantach
Media Cztery końcowe PNG obejrzane przez AI; nie są nagraniem ani transkrypcją VoiceOver
SwiftUI i krótki Flutter Typecheck SwiftUI PASS dla iOS 17 / SDK 27, analiza fragmentu Dart PASS; osobny runtime fragmentów niewykonany
VoiceOver, fizyczny iPhone, człowiek NOT-RUN; iPhone offline, runtime 26.5, nowe API testowe wymagało 27
Compose, React Native, Android, WWW, desktop, dokumenty Kompilacja/uruchomienie właściwych rozwiązań NOT-RUN

Przed końcową próbą naprawiono const Semantics i zwalnianie uchwytu w teście. Pierwszy tekst błędnej instrukcji zbyt mocno podpowiadał funkcję; zastąpiono go ogólnymi „szczegółami odbioru” i ponowiono końcowe sprawdzenia. Pierwsze przechwycenie pozostało materiałem historycznym.

Reguła może znaleźć zwrot sensoryczny i nazwę w tekście, lecz sama obecność „prawej” nie dowodzi błędu. Dopasowanie tekstów nie potwierdza jednoznaczności, a AI może zgadywać cel z kontekstu. Ocena musi obejmować całą instrukcję, kontrolki, dostępne alternatywy oraz ewentualny sygnał i stan. Nazwy plików, trasy i oczekiwania fixture nie są wejściem niezależnego walidatora. Wynik dotyczy wybranej pary, bez badania dużego tekstu, motywów i pełnej aplikacji.

Jak sprawdza Clearship

Clearship szuka w tekście instrukcji czasowników działania i cech zmysłowych oraz sprawdza, czy instrukcja zawiera nazwę kontrolki. Odniesienie „poniżej”, niedopasowany cytat albo niejasny kontekst może przekazać do oceny AI z obrazem i drzewem. To analiza tekstu natywnego, bez odtwarzania sygnału dźwiękowego.

Opis metody text-semantics-1 obejmuje Android i iOS; pomiary kontrolne pozostają niewykonane, a katalog zachowuje metodę wymagającą człowieka. Słowniki nie obejmują wszystkich języków i odmian. Instrukcje w obrazie lub poza zebranym drzewem nie są ocenione. Nazwa pasująca do kilku przycisków może przejść dopasowanie ciągów mimo braku jednoznaczności. Człowiek ocenia instrukcję w pełnym kontekście; brak kandydata nie daje pełnego potwierdzenia kryterium.

Powiązane kryteria