Melanie Sumner jest inżynierką oprogramowania, która specjalizuje się w ułatwieniach dostępu w internecie. Porozmawialiśmy o jej drodze do zostania inżynierem, projektowaniu z uwzględnieniem dostępności, Ember.js oraz o tym, jak ważne jest finansowanie tych działań.
Ten post przedstawia eksperta z forum społeczności w ramach kampanii Learn Accessibility!
Alexandra Klepper: Dziękuję, że jesteś ze mną. Kim jesteś i czym się zajmujesz?
Melanie Sumner: Nazywam się Melanie Sumner i jestem inżynierką oprogramowania specjalizującą się w ułatwieniach dostępu w internecie. Piszę kod na potrzeby internetu od 25 lat. Moja pierwsza praca była… trochę jak w filmach szpiegowskich. W amerykańskiej marynarce wojennej pracowałem jako analityk wywiadowy, a programowanie było moim hobby.
Nie lubiłam być szpiegiem. Okazało się, że nie lubię umierać. Większość ludzi nie ma takiej potrzeby. Musiałam zdecydować, co chcę robić dalej, i nadeszła pora, aby moje hobby stało się moją karierą. Przez ostatnie 10 lat skupiałem się na inżynierii oprogramowania w zakresie ułatwień dostępu.
Alexandra nieczęsto słyszy się „Najpierw byłem szpiegiem”. Nie ma problemu. Co skłoniło Cię do pracy nad ułatwieniami dostępu?
Melanie: Pracowałam w kaplicy Hill Uniwersytetu Karoliny Północnej w kaplicy Hill, na wydziale rozwoju. Nie chodzi o rozwój w sposób, w jaki rozwija się strona internetowa, ale o rozwój w sposób, w jaki rozwija się zbiórka funduszy.
Mój bezpośredni przełożony ma problemy ze wzrokiem i musi powiększać wszystko do 400%, żeby widzieć. Był fantastycznym programistą. Prawdopodobnie najlepszy szef, jakiego kiedykolwiek miałam. Ale zawsze coś mi łamał, bo powiększał obraz, żeby zobaczyć, jak pracuję. Gdybym nie pomyślał o stworzeniu responsywnego interfejsu, wszystko by się popsuło.
Szef mojego szefa nie widzi koloru niebieskiego. Nie wiem, czy wiesz, jak wygląda kolor UNC, ale jest to jasny błękit. Bardzo podobało im się, że logo jest białe.
Alexandra: (śmieje się) O nie.
Melanie jego szef zawsze narzeka, że nigdy nie widzi efektów mojej pracy. Musiałem opracować zestaw kolorów uzupełniających i schemat kolorów dla naszych witryn. Zacząłem się zastanawiać nad kontrastem kolorów i o tym, jak osoby z wadą wzroku (lub inne osoby niewidome) korzystają z internetu.
Ponieważ UNC jest uniwersytetem stanowym, musi spełniać wymagania prawa federalnego dotyczące zgodności z WCAG na poziomie AA. Zależało nam na AAA, bo to instytucja edukacyjna.
Gdy dowiedziałam się więcej o wymaganiach stanowych i federalnych i zaczęłam czytać specyfikację W3C Accessibility, pomyślałam: „Wszystko to ma sens”. Z tego, co widzę, większość stron internetowych nie jest zgodna z tymi wytycznymi. Oczywiście ludzie pracują nad dostępnością stron internetowych odkąd istnieją strony internetowe. Czasami inżynierowie JavaScriptu (szczególnie) są nieco powolni w przyswajaniu wiedzy o dostępności cyfrowej.
Ułatwienia dostępu nazywam ostatnią granicą w internecie. Wiele osób pracuje nad automatyzacją w zakresie dostępności. Musimy opracować rozwiązania w taki sam sposób, w jaki podchodziliśmy do innych trudnych problemów, takich jak wydajność i bezpieczeństwo.
Alexandra pewnie czytasz dużo długich, skomplikowanych dokumentów w Marynarce Wojennej i w UNC. Czy uważasz, że zrozumienie specyfikacji było trudne?
Melanie musiałem przeczytać to około 5 razy, zanim zrozumiałem. Wcześniej czytałem inne specyfikacje. Zawsze mówię ludziom, żeby nie czuli się źle, jeśli ich nie rozumiecie, bo musiałem przeczytać 5 razy! Nie żartuję.
Przyzwyczajenie się do specyfikacji zajmuje dużo czasu. Jeśli nie zinterpretujesz go prawidłowo, możesz podjąć niewłaściwe działania. Pamiętaj też, że znaczna część specyfikacji jest przeznaczona dla programistów przeglądarek. Poszukaj sformułowania „autorzy powinni”, ponieważ odnosi się ono do programistów stron internetowych.
Alexandra W internecie wiele rzeczy mogłoby być lepszych, gdyby więcej deweloperów wiedziało, jak odczytywać specyfikacje.
Melanie można wiele powiedzieć o witrynach, które tłumaczą za Ciebie to tłumaczenie. Stworzyłem stronę a11y-automation.dev i jest ona jak moje dziecko – mój dodatkowy projekt. Próbuję wymienić wszystkie naruszenia w ułatwieniach dostępu i połączyć je z odpowiednimi kryteriami powodzenia WCAG. Jeśli występuje automatyzacja, która zapobiega błędom, zaoferuję to rozwiązanie.
Możesz zapoznać się z listą potencjalnych naruszeń, ale ważniejsza jest wiedza o tym, jak je naprawić. Jeśli nie ma automatycznych poprawek, możesz napisać lintera lub szablon albo jakiś test.
Wolę pracować na licencji open source, ponieważ w pewien sposób możecie wziąć udział w rywalizacji i zaproponować wprowadzenie ulepszeń (czasami lepsze, czasem nie, ale damy z siebie wszystko). Współtworzymy rozwiązania, które są bardzo korzystne dla internetu.
Jak sfinansować ułatwienia dostępu
Alexandra bardzo spodobała mi się strona pleasefunda11y.com. Ważne jest, aby programiści nauczyli się tworzyć strony z dostępnością, ale nie zawsze mają oni odpowiednie zasoby bez finansowania i zapisu kierownictwa. Dlaczego postanowiliście utworzyć tę witrynę?
Melanie byłam sfrustrowana, ponieważ na potrzeby ułatwień dostępu nie przeznacza się wystarczających środków. Wydaje się, że wszystkie finansowanie na zasadach open source spływają na usługi porównywania cen. Uwielbiam CSS i mamy tu mnóstwo możliwości.
Strona powstała, ponieważ Addy Osmani, menedżer ds. inżynierii oprogramowania w Chrome, skontaktował się ze mną i powiedział, że widział moją prośbę o finansowanie w zakresie ułatwień dostępu, ale chciałby uzyskać poradę, jakie konkretne działania można sfinansować. To duży problem: sponsorzy oprogramowania open source chcą przekazywać pieniądze na konkretne projekty, a nie na ogólne pomysły, które nie mają określonego rezultatu. Poświęciłam trochę czasu na opisanie konkretnych inicjatyw, potrzeb i sposobów zapewniania dostępności witryn.
Nawet jeśli firmy będą dążyć do tych celów bez mojej pomocy, możemy znacznie poprawić dostępność w internecie. To bardzo mała kwota w porównaniu z innymi działaniami w internecie, a będzie miała ogromny wpływ na życie ludzi.
Obecnie często spotykamy się z takim sposobem myślenia: „Ile osób ma niepełnosprawność?” Powinno ono brzmieć: „Jaki jest związek każdego użytkownika z jego technologią?”.
Niektórzy mówią mi, że nie uważają barwnikowskości za niepełnosprawność. Nie musisz się identyfikować jako osoba niepełnosprawna, jeśli masz ślepotę barw, ale może to mieć wpływ na Twoje relacje z technologią.
Alexandra opowiedz mi więcej o tym, jak postrzegasz technologię. Jak to się ma do ułatwień dostępu?
Melanie jeśli na przykład masz neuroróżnorodność, być może potrzebujesz prostego języka i jasnych wskazówek. Łatwiej będzie Ci poruszać się po 3 lub 4 ekranach w ramach serii, dokonując kilku wyborów za każdym razem, aż dotrzesz do końca. Nie ma dobrych wskazówek dotyczących nowoczesnych zastosowań technicznych.
Mamy firmy, które zajmują się obsługą deweloperską. Jeśli spróbujesz skorzystać z jakiejś z tych stron, Obecnie staramy się umieścić zintegrowany zlew we wszystkich interfejsach.
Alexandra: Czy możesz podać przykład?
Melanie na przykład GitHub ma menu z zagnieżdżonymi kartami. I [zirytowane westchnienie]. Nie mogę się denerwować (nawet jeśli jestem sfrustrowany). Nowoczesne strony internetowe muszą się rozwijać, aby sprostać nowym wymaganiom. Mamy jednak też obowiązek tworzyć je w sposób, który nie spowoduje, że ludzie zostaną w tyle.
To jest moja pasja. Nie chcę, żeby ktoś nie mógł znaleźć pracy, ponieważ narzędzia potrzebne w danej pracy nie są dostępne.
Alexandra: sto procent. Ludzie często myślą o tworzeniu produktów dostępnych dla zewnętrznych użytkowników, ale niekoniecznie biorą pod uwagę swoich pracowników.
Melanie Takie porady dotyczące finansowania prawdopodobnie przydałyby się wszystkim.
Od inżynierów słyszę, że chcieliby pracować nad dostępnością, ale „moja firma się tym nie przejmuje”. Założę się, że im to zależy! Musisz tylko wypełnić lukę w logice biznesowej. Pokaż klientowi korzystny wynik dla firmy. Jest ona oczywiście otwarta, a ja lubię udzielanie się i wprowadzanie zmian.
Alexandra dostępność często jest pozostawiana na koniec procesu, np. „Możemy to udostępnić później”. Dodanie jej później zajmie o wiele więcej czasu niż włączenie ułatwień dostępu w całym projekcie.
Melanie często pytam: „Czy chcesz zapłacić za zbudowanie tego raz czy dwa?”.
Ember.js i główny zespół ds. ułatwień dostępu
Alexandra wiem, że pracujesz też w głównym zespole platformy Ember.js. Jak się zaangażowałeś/zaangażowałaś?
Melanie zatrudniono mnie do pracy w JPMorgan Chase na platformach bankowości inwestycyjnej dla firm. Ember to wydajny framework JavaScriptu, który przydaje się, gdy potrzebujesz naprawdę stabilnej (a może nawet nieco nudnej) bazy, która pomoże Ci uniknąć pisania kodu, który powoduje duże straty finansowe. Ember ma gwarancję zgodności wstecznej – możesz za każdym razem przeprowadzić uaktualnienie, nawet jeśli trafisz na dużą wersję. Staramy się wprowadzać zmiany stopniowo, aby nie uszkodzić Twojej aplikacji.
W każdym razie pojechałem na konferencję Ember i poznałem wielu członków społeczności. Pracownicy Ember byli bardzo mili. I bardzo dobry kodeks postępowania, którego nie widziałem jeszcze nigdzie indziej.
Gdy skończyłem służbę wojskową, chciałem pracować w służbie bezpieczeństwa. Byłam na spotkaniu poświęconym bezpieczeństwu informatycznemu i nie widziałam tam żadnej innej kobiety. Jeden z starszych facetów spojrzał na mnie i zapytał: „Czy na pewno jesteś we właściwym pokoju, skarbie?”
Alexandra [jęk] Boli. I nie jest to zaskakujące. Miałem(-am) podobny problem.
Melanie to było chyba w 2011 r., może w 2012 r. Wiele się zmieniło. Pozostaje tam przez całą noc, aby udowodnić swój punkt widzenia. Ten komentarz nie miałby mnie ograniczać. Rozbawiłam dowcipy, robiłam dobre notatki i uczestniczyłam w rozmowach, więc ludzie wiedzieli, że to ja. Czuję, że przez większość kariery udowadniałam mężczyznom, że się mylą.
Nie chcę jednak, żeby kobiety były inżynierami oprogramowania tylko po to, żeby udowodnić, że mężczyźni są błędy. Chciałam zostać inżynierem oprogramowania, aby tworzyć niesamowite rzeczy, bo to bardzo fajne. Kobiety powinny mieć taką możliwość.
Alexandra oczywiście.
Melanie udostępniłam społeczności Ember to, co wiem o dostępności, ponieważ jako platforma bankowa musisz spełniać wymagania federalne w Stanach Zjednoczonych. Yehuda Katz i Tom Dale stwierdzili: „W zespole brakuje nam Mamy wielu ekspertów od JavaScriptu, ekspertów od wydajności, ludzi o niesamowitej inteligencji, ale potrzebujemy kogoś, kto zna się na ułatwieniach dostępu”. Zaprosili mnie też do podstawowego zespołu.
Pracuję nad inicjatywami mającymi na celu zapewnienie domyślnej dostępności Ember. Oznacza to, że gdy mówisz ember new <my-app-name>
, musisz od razu spełnić kryteria powodzenia WCAG.
Alexandra w GitHubie znalazłam długą listę narzędzi ułatwień dostępu dla Ember. Czy członkowie społeczności Ember chętnie przyczyniają się do rozwoju tych narzędzi?
Melanie to była naprawdę ekscytująca część tej pracy. Napisałem zasady lintowania ułatwień dostępu dla Ember w czasie pracy w LinkedIn. Potem wyszłam z LinkedIn i pracowałam dla Hashicorp, a inni ludzie nadal pomagają linterowi, bo jest to dla nich przydatne. To właśnie w tej części mojej pracy czuję dreszkę emocji i podniecenie.
Akceptujemy, że jako punkt odniesienia, ułatwienia dostępu mają prawo obywatelskie. To nie jest temat do dyskusji.
Omawiamy: Co możemy wdrożyć? Kiedy? Jak to zrobić? Jak to przekazać i zapewnić zgodność wsteczną? Jak pomagamy deweloperom w zapewnianiu dostępności bez konieczności tworzenia dodatkowych funkcji?
Alexandra dostępność jest prawem obywatelskim. To wywołuje u mnie dreszcze! To powinno być coś, co wszyscy uznajemy za prawdę.
Melanie zdarzało mi się słyszeć nieprawdziwe informacje, takie jak „Gdybym był ślepy, nie korzystałbym z internetu”. Albo „Dlaczego mam się przejmować niepełnosprawnością, skoro dotyczy ona tylko 5% użytkowników, a 90% spełnia moje oczekiwania?”. Nie będę brać udziału w tych dyskusjach, bo często rozpraszają mnie w pracy.
Gdy piszesz kod z uwzględnieniem dostępności, zwiększasz wydajność, ponieważ tworzysz witryny z uwzględnieniem specyfikacji W3C. Zamiast divów użyjesz semantycznego HTML-a i nagłówków. Zamiast dodawać zdarzenie kliknięcia do reguły <div>
, wybierz regułę <button>
, aby zwiększyć wydajność.
Zrób jedną rzecz: zautomatyzuj ułatwienia dostępu
Alexandra co deweloperzy powinni zrobić, aby tworzyć strony internetowe z dostępnością na najwyższym poziomie?
Melanie: dodaj automatyzację. Zacznij od istniejącego lintera dla dowolnej platformy i używanego kodu. nieważne, którego użyjesz! Jeśli jedna z tych zasad zostanie naruszona, kompilacja powinna się przerwać.
Niektórych czynności nie można zautomatyzować, ponieważ AI nie potrafi jeszcze rozszyfrować intencji. Na przykład wartość tekstu alternatywnego obrazu powinna być znacząca, ale co to tak naprawdę znaczy? Obecnie to człowiek, a nie automatyzacja, musi to rozstrzygnąć.
Automatyczne narzędzie może jednak poinformować, że kontrast kolorów nie spełnia wymagań. Po prostu to napraw. Nie sprzeciwiaj się temu, nie mów: „Nie chcę tego, wolę tak, jak jest”. To nie Twoja wina. Chodzi o to, aby to, co robimy, było dostępne dla wszystkich ludzi na świecie każdego dnia.
Ułatwianie dostępu to proces, w którym zawsze uczysz się czegoś nowego. Od ponad 10 lat zajmuję się ułatwieniami dostępu i ciągle uczę się nowych rzeczy. Nie broń się, po prostu to zrób.
Aby dowiedzieć się więcej o jej pracy, odwiedź jej stronę melanie.codes i jej profil na Twitterze @a11yMel. Materiały dotyczące ułatwień dostępu znajdziesz na stronach pleasefunda11y.com, a11y-info.com i a11y-automation.dev.