Dostępnik o dodawaniu metadanych w Sigil
Okazało się, że mój poprzedni Dostępnik nie wystarczył i trzeba dopisać dalszy ciąg. Wiesz już, że trzeba metadane do ebooków dodawać, ale nie wiadomo jak. No to opiszę to na przykładzie edytora Sigil
Dzisiaj zajmiemy się konkretną, praktyczną wiedzą. Napisałem instrukcję krok po kroku, jak dodać te kluczowe metadane dotyczące dostępności, korzystając z popularnego edytora ebooków Sigil. Skupimy się na aktualnym interfejsie, aby to zrobić szybko i poprawnie.
Instrukcja Krok po Kroku
W najnowszych wersjach Sigil (w których domyślnie tworzy się ePub 3.x), metadane dotyczące dostępności opierają się na słowniku schema.org. Choć interfejs może nie pokazywać jawnie prefiksu schema, dodawane właściwości są z nim powiązane.
Aby dodać metadane, wykonaj następujące kroki:
Otwórz EPUB, do którego chcesz dodać metadane.
Otwórz Edytor Metadanych: W Sigilu, w górnym menu, wybierz Tools (Narzędzia) Metadata Editor (Edytor metadanych) lub po prostu naciśnij klawisz F8.
Dodaj Nowy Element: Kliknij przycisk Add Metadata (Dodaj metadane).
Wprowadź Pełną Właściwość (Property): W polu Property (Właściwość) musisz wprowadzić pełną nazwę właściwości wraz z prefiksem “schema:”. Dalej przypomnę te metadane. Nazwa właściwości pojawi się w drzewku.
Wprowadź Wartość: W polu Value (Wartość) wpisz odpowiednią wartość (lub wartości oddzielone przecinkami, np. textual, visual).. Dla użytkowników klawiatury podpowiem, że trzeba strzałką w prawo przejść na pole wartości i nacisnąć F2. Niektóre właściwości mają predefiniowane wartości, na przykład język możesz wybrać z listy.
Powtarzaj kroki 3-5 dla każdego potrzebnego Ci parametru dostępności.
Zapisz: kliknij OK.
Ważne! To, że musisz ręcznie wpisać schema: w polu Property, wynika z uproszczenia interfejsu Sigil, który zakłada, że autor wie, jakiego słownika używa. Pamiętaj też, że wielkość znaków ma znaczenie.
A teraz wracam do samych metadanych, które opiszę bardziej szczegółowo, niż w poprzednim Dostępniku. To co mi się wydawało oczywiste, nie musi być przecież oczywiste dla wszystkich. A zatem zaczynamy.
Podstawowe Tryby Dostępu
Te metadane informują o trybach, które są niezbędne lub wystarczające do percepcji treści książki. Główna różnica między nimi polega na tym, że accessMode opisuje wszystkie tryby, a accessModeSufficient te wystarczające do odbioru treści. Dalej podam przykład.
schema:accessMode
Do czego służy? Określa wszystkie tryby sensoryczne, w których treść jest prezentowana.
Kiedy dodać? Zawsze, gdy treść angażuje zmysły, czyli zawsze.
Możliwe wartości:
textual, jeżeli książka zawiera tekst,
visual, jeżeli książka zawiera elementy graficzne, w tym zdjęcia, grafiki, animacje, filmy,
auditory, jeżeli książka zawiera elementy dźwiękowe, w tym nagranie lektorskie, filmy z dźwiękiem, uzupełnienia dźwiękowe,
tactile, jeżeli książkę odczytuje się dotykiem, w tym alfabet Braille’a, Moona, elementy 3D.
schema:accessModeSufficient
Do czego służy? Określa, jakie tryby dostępu lub ich kombinacje są wystarczające do zrozumienia całej treści.
Kiedy dodać? Gdy dostępność jest zapewniona przez konkretny tryb (np. sam tekst).
Wartości są takie same, jak dla accessMode.
Praktyczny przykład: Jeśli masz książkę z tekstem i obrazkami, ale do jej zrozumienia wystarczy sam tekst, użyjesz: schema:accessMode: textual, visual i schema:accessModeSufficient: textual.
Z kolei jeżeli to jest audiobook, to schema:accessMode i schema:accessModeSufficient będą miały wartości “auditory”. I ta informacja będzie oznaczała dla osób głuchych, że nie ma po co jej kupować.
Funkcje Ułatwiające Dostępność
schema:accessibilityFeature służy do Wyspecyfikowania konkretnych ułatwień w Twoim ebooku. Tych wartości jest sporo i są podzielone na kilka grup. Jednak ten podział jest tylko na potrzeby zrozumienia ich znaczenia, bo wprowadza się za każdym razem tak samo.
alternativeText: potwierdzenie obecności opisów alternatywnych dla elementów graficznych.
audioDescription: audiodeskrypcja dodana do elementów multimedialnych, na przykład filmów.
closedCaptions: napisy zamknięte do filmów.
openCaptions: napisy otwarte do filmów.
describedMath: wzory matematyczne mają poprawną semantyczną strukturę (np. MathML).
longDescription: długie opisy dla skomplikowanych grafik.
transcript: pełna transkrypcja dla treści audio lub wideo.
signLanguage: treść jest dostępna w języku migowym.
Możesz dodać wiele innych wartości, oczywiście o ile są w Twoim ebooku. Opisują różne aspekty dostępności, z których część nie dotyczy wprost osób niepełnosprawnych, ale ogólnie użyteczności książki.
Nawigacja
tableOfContents: Standardowy spis treści (obowiązkowe).
index: Obecność indeksu pojęć, czyli także słowników, list skrótów, czy nazw własnych.
pageBreakMarkers i pageNavigation: Znaczniki łamania stron i nawigacja (dla odwołań do wersji drukowanej). To jest przydatne przy pisaniu prac naukowych, kiedy trzeba podać w przypisie konkretny numer strony.
readingOrder: Poprawna kolejność czytania treści (ważne dla czytników ekranu i nawigacji klawiaturowej).
structuralNavigation: strukturalna nawigacja (nagłówki, sekcje itp.).
taggedPDF: obecność oznaczeń PDF (jeśli ebook zawiera osadzone pliki PDF lub sam jest plikiem PDF).
annotations: obecność adnotacji i komentarzy.
Renderowanie i Wyrazistość
displayTransformability: Możliwość dostosowania wyglądu tekstu (czcionka, rozmiar, kolory).
unlocked: Brak ograniczeń DRM, które utrudniają dostępność. Kiedyś to była prawdziwa zmora w Polsce, ale obecnie prawie nie spotykam się z ebookami zabezpieczonymi w ten sposób.
largePrint: Treść jest przystosowana do dużego druku.
highContrastDisplay: Treść jest kompatybilna z trybem wysokiego kontrastu.
synchronizedAudioText: Treść tekstowa jest zsynchronizowana z audio (tzw. synchrobooki).
timingControl: możliwość kontroli czasu odtwarzania multimediów (pauza, przewijanie itp.).
highContrastAudio: Treść audio jest zoptymalizowana pod kątem wyraźnego dźwięku (np. dla osób z ubytkiem słuchu).
Specjalne znaczniki do opisywania treści
chemML: wzory chemiczne zakodowane w ChemML.
mathML: wzory matematyczne zakodowane w MathML.
latex: wzory matematyczne zakodowane w LaTeX.
latex-chemistry: wzory chemiczne zakodowane w LaTeX.
MathML-chemistry: wzory chemiczne zapisywane w MathML.
ttsMarkup: treść zoptymalizowana pod kątem syntezatorów mowy (np. SSML).
Sporo tego, ale z większością z tych wartości nigdy się nie spotkasz. Przeczytaj, przemyśl i dodaj te, co do których masz pewność, że są w Twojej książce.
Ostrzeżenia o Zagrożeniach
Czy ebook może być groźny i niebezpieczny? Czasem tak, chociaż to zdarza się niezbyt często. Natomiast są zagrożenia dla dostępności i wtedy warto przestrzec przed zakupem. A zatem najpierw te groźne, a potem te ostrzegawcze.
Ostrzeżenia o potencjalnych zagrożeniach sensorycznych, kluczowe dla bezpieczeństwa osób czytających:
flashing: ostrzeżenie o szybko migających elementach (ryzyko ataku epilepsji)..
motionSimulation: ostrzeżenie o symulacji ruchu (ryzyko nudności, zawrotów głowy).
sound: ostrzeżenie o nagłych lub głośnych dźwiękach.
none: brak zidentyfikowanych zagrożeń sensorycznych. Warto dodawać, gdy wiesz, że Twoja treść jest bezpieczna.
A teraz ostrzeżenia przed problemami z dostępnością:
chartOnVisual i diagramOnVisual: wykresy/diagramy, którym brakuje pełnego opisu tekstowego.
colorDependent: informacja przekazywana wyłącznie za pomocą koloru.
mathOnVisual i chemOnVisual: Wzory w formie obrazków, bez semantyki.
musicOnVisual: zapisy nutowe w postaci obrazków.
textOnVisual: tekst prezentowany w postaci graficznej.
Dodanie tych wartości może też uświadomić Ci, co warto w książce poprawić.
Podsumowanie Dostępności
Jest jeszcze taka właściwość jak schema:accessibilitySummary. To jest miejsce na napisanie ludzkim językiem, jak ogólnie wygląda dostępność książki.
Dodaj pełne zdanie opisujące dostępność książki, uwzględniając kluczowe kwestie.
Taki opis może wyglądać tak: “Ten ebook jest zoptymalizowany dla czytników ekranu. Wszystkie obrazy zawierają pełne opisy alternatywne, a nawigacja opiera się na semantycznych nagłówkach”. Albo tak: “Ten audiobook nie ma dołączonej treści tekstowej i można go tylko słuchać.”
Pamiętaj też o tym, żeby podawać prawdziwe informacje. Jeżeli nie masz pewności, to nie dodawaj. Myślę jednak, że rozumiesz to doskonale.
Wieści o dostępności
Pojawił się niedawno Kurs semantycznego HTML od Wojtka Kutyły. Zapoznałem się z nim i polecam, bo temat mi jest bliski. Dowiesz się z niego, o co chodzi z architekturą strony internetowej, strukturyzowaniem informacji i do czego służą różne znaczniki HTML. To mało rozpowszechniona wiedza w czasie budowania stron przez naciąganie i wypuszczanie. Do tego link jest afiliacyjny, więc Wojtek będzie musiał się podzielić ze mną tymi milionami.
Jeżeli wolisz zgłębiać raporty, to proponuję ten, który opracowała niedawno Agata Gawska dla Ministerstwa Cyfryzacji. Raport końcowy z badania potrzeb użytkowników stron internetowych i aplikacji mobilnych podmiotów publicznych dotyczy co prawda podmiotów publicznych, ale przecież strona to strona, a aplikacja to aplikacja.
11 grudnia w Poznaniu odbędzie się już 16 edycja A11y Meetup. Gratulacje dla Ani, Rafała i całego zespołu organizatorów za wytrwałość. Może ktoś wreszcie uruchomi coś takiego w Warszawie… Ja bym przychodził..
Ministerstwo Cyfryzacji zaplanowało na 13-14 listopada konferencję online Wdrażanie dostępności cyfrowej w państwach członkowskich UE. Ma być z tłumaczeniami i w ogóle sporo ludzi w agendzie. Ja mam być drugiego dnia, więc na pewno warto zajrzeć:)
Najpierw powoli, jak żółw ociężale, ruszam z organizacją AutomaticA11y 2026. Pomyśl, czy masz coś ciekawego do opowiedzenia lub posłuchania. Mam już kilkoro chętnych osób, ale wciąż czekam też na Ciebie. Napisz do mnie z pomysłem.
I to by było na tyle. Nie chce mi się pisać o polityce, bo jakoś to słabo i coraz słabiej wygląda. Na szczęście jest Ewa, Maja, Staszek, przyjaciele, znajomi i Ty. Jest też sztuczna inteligencja, Python, porto i polski rap. Miłego dnia.

