Melanie Sumner jest inżynierką oprogramowania specjalizującą się w dostępności cyfrowej. Rozmawialiśmy o jej ścieżce do inżynierii, projektowaniu ułatwień dostępu, Ember.js i o tym, jak ważne jest sfinansowanie tych działań.
Ten post wyróżnia eksperta społeczności w ramach programu Learn Accessibility!
Alexandra White: Dziękuję, że jesteście ze mną. Kim jesteś i co robisz?
Melanie Sumner: Nazywam się Melanie Sumner i jestem inżynierką oprogramowania specjalizującą się w ułatwieniach dostępu cyfrowego. Koduję dla stron internetowych od 25 lat. Moja pierwsza kariera była... szpiegem. Byłem analitykiem wywiadowczym w marynarce USA, a kodowanie było moim hobby.
Nie lubiłem być szpiegiem. Jak się okazało, śmierć nie była dla mnie sympatią. Tak jak większość ludzi trzeba być bliżej. Musiałem zdecydować, co chcę zrobić dalej i przekształcić moje hobby w karierę. W ciągu ostatnich 10 lat koncentrowałem się szczególnie na inżynierii oprogramowania w dziedzinie ułatwień dostępu.
Alexandra: Rzadko słyszysz: „O, byłam szpiegiem”. Nie ma problemu. Co skłoniło Cię do pracy nad ułatwieniami dostępu?
Melanie: Pracowałam wtedy na uniwersytecie Karoliny Północnej w Kaplei Hill na Wydziale Rozwoju. Nie chodzi o programowanie, takie jak tworzenie stron internetowych, ale o programowanie, takie jak zbieranie funduszy.
Mój bezpośredni menedżer miał wadę wzroku i musiał zmienić powiększenie na 400%. Był fantastycznym inżynierem oprogramowania. To chyba najlepszy menedżer, jakiego kiedykolwiek obserwowałem. Ale zawsze niszczył moje dane, bo powiększał widok, żeby przyjrzeć się mojej pracy. Gdybym nie pomyślał o tworzeniu elementów elastycznie, to byłaby to porażka.
Szef mojego menedżera był daltonistą na niebiesko. Nie wiem, jak wygląda niebieski kolor UNC, ale ten kolor jest jasnoniebieski. Bardzo podobało im się, że można było pokazać je na białym tle.
Alexandra: (śmieje się) O nie.
Melanie: Jego szef zawsze narzekał, że nigdy nie widzi moich prac. Musiałam opracować zestaw pasujących do nich kolorów i schemat kolorów dla naszych witryn. Pomyślałam o kontrastach kolorów i zastanowiłam się, jak osoby z wadą barw (lub z inną wadą wzroku) korzystają z internetu.
Ponieważ UNC jest uniwersytetem stanowym, istnieje wymagania federalne w USA, które pozwalają zachować zgodność z poziomem ułatwień dostępu WCAG AA. Chodziło nam o poziom AAA, ponieważ to instytucja edukacyjna.
Gdy dowiedziałem się więcej o wymaganiach stanowych i federalnych oraz zacząłem czytać specyfikację W3C dotyczącą ułatwień dostępu, pomyślałem, że to wszystko ma sens. Z tego, co widzę, większość treści w sieci jest niezgodna. Oczywiście użytkownicy pracują nad ułatwieniami dostępu w internecie tak długo, jak istnieje sieć. Czasami inżynierowie JavaScriptu (zwłaszcza) nie idą za sobą, jeśli chodzi o dostęp do technologii cyfrowych.
Ułatwienia dostępu to ostatnia granica internetu. W dziedzinie automatyzacji ułatwień dostępu pracuje wielu dobrych ludzi, a my musimy pracować nad rozwiązaniami w taki sam sposób, w jaki podchodzimy do innych trudnych problemów, takich jak wydajność czy bezpieczeństwo.
Alexandra: Być może czytasz wiele długich dokumentów w marynarce i na Uniwersytecie Karoliny Północnej. Czy zrozumienie specyfikacji było trudne?
Melanie: Musiałam przeczytać ją pięć razy, zanim zrozumiałam, a wcześniej czytałam inne specyfikacje. Zawsze mówię ludziom: nie przejmuj się, jeśli ich nie rozumiesz, bo musiałem przeczytać specyfikację 5 razy. Nawet nie żartuję.
Przyzwyczajenie się do języka specyfikacji zajmuje dużo czasu. Jeśli źle go zinterpretujesz, możesz popełnić błąd. Trzeba też pamiętać, że znaczna część specyfikacji jest przeznaczona dla programistów przeglądarek. Poszukaj frazy „autorzy powinni”, bo to link do twórców stron internetowych.
Alexandra: wiele rzeczy w internecie mogłoby być lepsze, gdyby więcej programistów wiedziało, jak rozszyfrować specyfikację.
Melanie: można powiedzieć dużo o witrynach, które interpretują to za Ciebie. Tworzę witrynę a11y-automation.dev i jest to coś jak moje dziecko – mój dodatkowy projekt. Staram się wyszczególnić każde naruszenie ułatwień dostępu, by powiązać je z kryteriami powodzenia WCAG. Jeśli istnieje automatyzacja, która zapobiegnie błędom, zaoferuję to rozwiązanie.
Możesz zapoznać się z listą potencjalnych naruszeń, ale ważniejsze jest to, jak je naprawić. W przypadku nieistniejących automatycznych poprawek możesz znaleźć inspirację do napisania linter lub szablonu albo napisania jakiegoś testu.
Wolę pracować na licencji open source, bo dzięki temu możecie ulepszyć swoje rozwiązanie (choć czasami gorzej, a czasem nie, ale wszyscy staramy się). Bazując na swoich doświadczeniach, osiągamy naprawdę rewelacyjny rezultat dla sieci.
Jak finansować ułatwienia dostępu
Alexandra: Spodobała mi się witryna pleasefunda11y.com. To bardzo ważne, by programiści nauczyli się, jak tworzyć łatwo dostępne witryny, ale nie zawsze będą dysponować zasobami bez wsparcia kadry kierowniczej i pozwolenia jej kierownictwa. Skąd wziął się pomysł budowania tej witryny?
Melanie: Denerwuje mnie, ponieważ dostępność ułatwień dostępu jest tak niedofinansowana. Wygląda na to, że wszystkie finansowania open source będą nadal trafiać do CSS. Uwielbiam CSS. Możemy za jego pomocą tak dużo zrobić.
Stworzyłam witrynę, ponieważ Addy Osmani, menedżer ds. inżynierii oprogramowania Chrome, skontaktował się z Panem/Panią i stwierdził, że prosi o fundusze na ułatwienia dostępu, ale on sam szukał porad, które konkretne prace mogą być sfinansowane. To duży problem: fundatorzy typu open source chcą przekazywać pieniądze na konkretne projekty, a nie na ogólne pomysły, które nie mają określonego wyniku. Poświęciłem trochę czasu na opisanie kilku konkretnych inicjatyw, ich potrzeb i sposobów, w jakie ułatwią one dostęp do witryn.
Nawet jeśli firmy bazują na tych wysiłkach beze mnie, moglibyśmy w istotny sposób zwiększyć ułatwienia dostępu w internecie. To bardzo małe wydatki w porównaniu z innymi działaniami w internecie, a potem mogą mieć ogromny wpływ na życie ludzi.
Obecny sposób myślenia to „Ile osób jest niepełnosprawnych?”. Powinno brzmieć: „Jaki jest związek z technologią danej osoby?”
Niektórzy mówią mi: „Cóż, myślę, że daltonizm nie jest niepełnosprawnością”. Osoby z niepełnosprawnością mogą nie przedstawiać się jako osoba z niepełnosprawnością, ale wpływa to na Twoją relację z technologią.
Alexandra: Proszę opowiedzieć coś więcej o swoich relacjach z technologią. Jaki ma to związek z ułatwieniami dostępu?
Melanie: jeśli na przykład masz neuroróżnorodność, być może potrzebujesz bardzo prostego języka i bardzo zrozumiałych wskazówek. Lepiej będzie przechodzić przez 3 lub 4 ekrany w trakcie ścieżki i dokonać kilku wyborów po kolei, aż dotrzesz do końca. Nie ma dobrych wskazówek dotyczących nowoczesnych aplikacji technicznych.
Mamy całe firmy, które przeprowadzają takie deklaracja. Jeśli spróbujesz użyć którejś z nich, możesz pomyśleć: „O mój Boże”. Obecnie staramy się wypełnić zlew kuchenny we wszystkie interfejsy.
Alexandra: Czy możesz podać przykład?
Melanie: na przykład na GitHubie występują menu z zagnieżdżonymi kartami. I [i skrajne westchnienie]. Nie mogę się denerwować (nawet jeśli jestem sfrustrowana). Współczesna sieć musi się rozwijać, aby sprostać nowym wyzwaniom. Jednak naszym obowiązkiem jest tworzenie rozwiązań, które nie pozostawią ludzi w tyle.
To mnie napędza. To moja pasja. Nie chcę, by ktoś nie mógł znaleźć pracy, bo narzędzia, których musieliby używać w danej pracy, nie byłyby dostępne.
Alexandra: sto procent. Ludzie często myślą o tworzeniu usług łatwo dostępnych dla użytkowników zewnętrznych, ale niekoniecznie o pracownikach.
Melanie: Myślałam, że ta porada dotycząca finansowania byłaby przydatna dla wszystkich.
Cały czas słyszę od inżynierów, że chcieliby wprowadzić ułatwienia dostępu, ale „moja firma się tym nie interesuje”. Założę się, że im na nich zależy! Wystarczy, że wypełnisz lukę w systemie logicznym. Pokaż mu, co przyniesie korzyści firmie. Strona jest oczywiście open source, a ja uwielbiam dodawać i edytować jej zawartość.
Alexandra: proces ułatwień dostępu często pozostawiany do końca, np. „Możemy po prostu udostępnić to później”. Jednak dodanie go później zajmie o wiele więcej czasu niż zintegrowanie dostępnych praktyk w całym projekcie.
Melanie: Często mówię „Czy chcesz zapłacić za zbudowanie raz czy dwa?”.
Ember.js i główny zespół ds. ułatwień dostępu
Alexandra: Wiem, że zajmujesz się też głównym zespołem ds. platformy Ember.js. W jaki sposób wzięłaś udział w programie?
Melanie: Zostałem zatrudniony do pracy w JPMorgan Chase na jej platformach bankowości inwestycyjnej. Ember to wytrzymała platforma JavaScript używana, gdy potrzebna jest naprawdę stabilna (a może nawet trochę nudna) baza, która pomaga uniknąć pisania kodu, który traci mnóstwo pieniędzy. Ember zapewnia zgodność wsteczną – możesz ją uaktualnić za każdym razem, nawet jeśli napotkasz dużą wersję. Staramy się realizować zadania stopniowo, aby nie uszkadzać aplikacji.
W każdym razie przyjechałam na konferencję w Ember i poznałam sporo ludzi w społeczności. Inni burscy byli tacy mili. Jest też naprawdę mocny kodeks postępowania, którego nie widziałem jeszcze w innych miejscach.
Po wyjściu z wojska chciałem zająć się bezpieczeństwem. Byłem na zjeździe Infosec i nie widziałem tam żadnej innej kobiety. Jeden ze starszych chłopaków spojrzał na mnie i zapytał: „Czy jesteś we właściwym pokoju, kochanie?”.
Alexandra: [Groans] Boli. I nie ma w tym nic zaskakującego. Przeżyłem coś podobnego.
Melanie: To był rok 2011, może rok 2012. Krajobraz bardzo się zmienił. Spędziłem tam tę noc, żeby potwierdzić swoje racje. Nie chciałam, by ten komentarz mi się zamknął. Łudziłem dowcipy, robiłem ciekawe notatki i brałem udział w rozmowach. Dzięki temu ludzie wiedzieli, że tam jestem. Mam wrażenie, że w dużej części mojej kariery pokazywałam, że mężczyźni się mylą.
Nie chcę jednak, żeby kobiety były inżynierami oprogramowania tylko po to, żeby udowodnić, że mężczyźni się nie mylą. Chciałam być programistką i tworzyć niesamowite rzeczy, bo to świetna zabawa. Kobiety powinny mieć taką karierę.
Alexandra: Oczywiście.
Melanie: Podzieliłam się wiedzą o ułatwieniach dostępu ze społecznością Ember, ponieważ oczywiście jako platforma bankowa trzeba spełniać wymagania federalne w USA. Yehuda Katz i Tom Dale mówią: „Mamy lukę w zespole. Mamy wielu ekspertów ds. JavaScriptu, ekspertów ds. wydajności i inteligentnych ludzi niez tego świata i potrzebujemy kogoś, kto ma wiedzę o ułatwieniach dostępu”. Zaprosili mnie do dołączenia do podstawowego zespołu.
Pracujemy nad inicjatywami, które mają sprawić, że narzędzie Ember będzie domyślnie dostępne. Oznacza to, że gdy powiem „ember new <my-app-name>
”, musisz od razu spełnić kryteria sukcesu WCAG.
Alexandra: Witam na GitHubie długą listę narzędzi ułatwień dostępu dla Ember. A może zauważyłeś, że członkowie społeczności Ember chętnie biorą udział w tych narzędziach?
Melanie: To była naprawdę ekscytująca część tej pracy. W trakcie pracy w LinkedIn napisałam zasady lintowania ułatwień dostępu dla Ember. Potem zrezygnowałem z LinkedIn i zająłem się pracą dla Hashicorp, a inni użytkownicy wciąż dodają swoje treści, bo jest to dla nich bardzo przydatne. To ta część pracy, która mnie relaksuje i jest podekscytowana.
Akceptujemy, że ułatwienia dostępu stanowią prawo obywatelskie. Nie nadaje się do dyskusji.
Omawiamy następujące kwestie: co możemy wdrożyć? Kiedy? Jak to robimy? Jak tego nauczyć i zapewnić zgodność wsteczną? Jak pomagamy deweloperom zapewniać ułatwienia dostępu bez konieczności tworzenia dodatkowych funkcji?
Alexandra: ułatwienia dostępu to prawo obywatelskie. Robi mi się ciśnienie! Powinno to być coś, co wszyscy znamy jako prawdę.
Melanie: Inni mówili mi o niedoinformowanych rzeczach, na przykład: „Gdybym był niewidom, nie korzystałbym z internetu”. Albo „Dlaczego muszę myśleć o niepełnosprawności, gdy tylko 5% użytkowników jest w tym przypadku dobre?”. Nie będę o tym mówić, ponieważ często mogą one odwracać uwagę od pracy.
Pisząc łatwo dostępny kod, uzyskasz większą wydajność, ponieważ zastanowisz się nad tworzeniem witryn opartych na specyfikacji W3C. Użyjesz semantycznego kodu HTML zamiast elementów div oraz będziesz używać nagłówków. Zamiast dodawać zdarzenie kliknięcia do elementu <div>
, wybierzesz parametr <button>
, a uzyskasz poprawę skuteczności.
Zrób jedną rzecz: zautomatyzuj ułatwienia dostępu
Alexandra: Co powinni zrobić deweloperzy stron internetowych, aby tworzyć łatwo dostępne witryny?
Melanie: dodaj automatyzację. Zacznij od istniejącego lintera dla dowolnej platformy i rodzaju kodu, jakiego używasz. Nieważne, której z nich użyjesz. Jeśli któraś z tych reguł zostanie złamana, Twoja konstrukcja powinna nie działać.
Niektórych rzeczy nie można zautomatyzować, ponieważ AI nie potrafi jeszcze rozszyfrować intencji. Na przykład tekst alternatywny obrazu powinien być istotny, ale co to tak naprawdę oznacza? W tej chwili to człowiek musi to dostrzec, a nie automatyzacja.
Jednak automatyczne narzędzie może Cię poinformować „Nie przekazujesz kontrastu kolorów”. Po prostu to napraw. Nie walcz z tym, nie mów „Ale nie chcę, wolę tak to”. Nie chodzi o Ciebie. Chcemy, aby to, co robimy, codziennie było dostępne dla każdego.
Ułatwienia dostępu to długa podróż, w której zawsze będziemy się uczyć. Od ponad 10 lat specjalizuję się w ułatwieniach dostępu i ciągle uczę się czegoś nowego. Nie obroń się, po prostu to zrób.
Obserwuj pracę Melanie na jej stronie internetowej melanie.codes i na Twitterze @a11yMel. Zapoznaj się z jej zasobami na temat ułatwień dostępu na stronach pleasefunda11y.com, a11y-info.com i a11y-automation.dev.