Dostępny (?) Flash

Flash jest chyba najpopularniejszą obecnie technologią stosowaną do prezentacji multimedialnych/interaktywnych elementów na stronach www. Jednocześnie nieomal równie często nadużywaną.

Niestety ze względu na swoja budowę nastręcza sporej ilości problemów w dziedzinie dostępności.

Użytkownicy screenreaderów

Sprawa podstawowa: dla czytników ekranu osadzony flash jest białą plamą.

Jest od tej reguły wyjątek. Jeśli internauta korzysta z przeglądarki Internet Explorer, a jej czytnikiem jest Jaws lub Window-Eyes to ma szansę skorzystać z flashowego elementu. Za interakcję obiektu flash z technologiami dostępnościowymi odpowiedzialna jest technologia Microsoft Active Accessibility (MSAA).

Dodatkowo flash będzie dostępny tylko jeśli wtyczka jest co najmniej w wersji 6 (w obecnych czasach to raczej mały problem, ale nie można marginalizować osób posiadających starsze wtyczki). I jako wisienka do tortu - twórca elementu musiał zadbać o zgodność z zaleceniami Adobe w kwestii dostępności.

Z ostatnich wiadomości ze stajni Adobe wynika, że najnowsze wersje Flash Player (np. 9.0.115.0) powoli wprowadzają możliwość korzystania z technologii MSAA w przeglądarce Firefox. Niestety wciąż ograniczeniem jest system operacyjny, "dostępne" są tylko wersje dla środowiska MS Windows.

Dużo tych obwarowań. Dlatego o pełnej dostępności flasha trudno mówić. Raczej o wspieraniu.

Użytkownicy niedowidzący, starsi

Często korzystają z powiększania tekstu. Używają do tego celu albo z mechanizmów powiększania tekstu udostępnianych przez przeglądarkę, albo oprogramowanie imitujące lupę (w tym wbudowanych w przeglądarki). W tym drugim przypadku większych problemów być nie powinno. Natomiast powiększanie samego tekstu przy pomocy mechanizmów przeglądarek efektu na elementach flashowych mieć nie będzie.

Inną sprawą jest dobór kroju czcionki i kontrastu między tłem a tekstem. W przypadku stron czysto HTMLowych użytkownik może nadpisać wybrane przez projektanta czcionki i kolory swoim własnym zestawem, który uznaje za łatwiejszy w odbiorze. Elementy flashowe z racji swojej specyfiki nie pozwalają na takie operacje.

Przeglądarki tekstowe

Tu krótko i bez zdziwienia ;-) Flash dla nich nie istnieje.

Urządzenia mobilne

W zależności od stosowanej platformy i przeglądarki. Najnowsze produkty mające na pokładzie systemy operacyjne coraz mniej różnią się od PCtów w odbiorze stron. Jednak najpopularniejsze wciąż (ze względu na cenę) urządzenia posiadające uproszczone przeglądarki WWW będą miały problem z prawidłowym wykorzystaniem elementów flash.

Osadzanie elementów na stronie

Nawet jeśli uda się w pocie czoła przygotować najbardziej dostępny jak tylko możliwe element, możemy polec dzięki amerykańskiemu prawu patentowemu.

23 września 2003 roku firma EOLAS, która jest właścicielem patentu ogólnie mówiąc opisującego umieszczanie elementów aktywnych (w tym flash) na stronach WWW wytoczyła proces Microsoftowi. Po ponad dwu latach proces wygrała i MS został zmuszony do wprowadzenia obejścia patentu. Ponieważ to obejście jest irytujące webmasterzy zaczęli stosować obejście obejścia.

Sposobów na nie wynaleziono kilka. Oględnie mówiąc jedne gorsze od drugich. Najlepszą wydaje się być stosowanie dynamicznej podmiany elementów na stronie na obiekty Flash z wykorzystaniem Javascript. np. stosowany przeze mnie SWFObject. Problemem jest to, że w przypadku braku Javascript Flash również nie będzie widoczny. Jeśli jednak zgodnie z założeniem twórcy tego obejścia zaczynasz od umieszczenia nieflashowego odpowiednika, to będzie on w takim wypadku widoczny i tym samym funkcjonalność strony nie ucierpi a dostępność zyska.

Microsoft zapłacił w końcu za patent, ale stosowna aktualizacja do Internet Explorera jest planowana dopiero na kwiecień 2008. Co więcej Opera, która również wprowadziła obejście patentu na ugodę z EOLASem iść nie zamierza.

Wnioski

Jak zwykle drogą do sukcesu jest umiar. Póki "dostępność" w odniesieniu do flasha jest mocno naciąganym pojęciem Lepiej przygotować alternatywną bezflashową wersję elementów serwowana w razie potrzeby niż zmuszać flashowca by poświęcał swój czas na zabawy z wciąż niedopracowanymi funkcjami środowiska.

Warto przeczytać

  • Podziel się:
  • wykop.pl
  • gwar.pl
  • linkr
  • del.icio.us
  • digg.com
  • technorati

9 komentarzy do artykułu “Dostępny (?) Flash”

  1. Powiększanie w Operze zwiększa także elementy Flash. Są one skalowane. Tekst we Flashu jeste wtedy zatem większy ale nieostry.

  2. To czy flash powiększy się podczas powiększania strony w Operze, czy IE 7.0 to akurat zależy od sposobu jego osadzenia. W przypadku SWFObject najczęściej nie ma z tym problemów. Ale już osadzania za pomocą "starego" skryptu generowanego przez Macromedię skutecznie zachowywało wielkość animacji bez zmian powiększając jedynie kontener.

    Jeśli chodzi o tekst we flashu to nieostry będzie wówczas gdy użyte są czcionki bitmapowe. Ze standardowymi wektorowymi raczej nie ma tego problemu (zobacz np. stronę agencji Janmedia Interactive).

    Inna rzecz, że użytkownicy innych przeglądarek (Firefox, IE < 7.0 etc.) nie mają w ogóle luksusu powiększania całości strony bez osobnego oprogramowania, a nie można powiedzieć by byli grupa niszową.

  3. DjKermit mówi:

    Małe sprostowanie, skalowanie flash'a zależy od ustawienia parametru "scale" w kodzie HTML lub JS i nie zależy od metody osadzania.
    Jednym słowem to developer decyduje o możliwości skalowania flash'owej zawartości.

  4. Rzeczywiście Flash jest technologią, która jest średnio "dostępna" zarówno dla użytkowników jak i wyszukiwarek. W wielu przypadkach jednak strony pozbawione elementów interaktywnych uznawane są przez potencjalnych użytkowników i klientów za ubogie i mało ciekawe.

  5. @DJKermit - dzięki za sprostowanie, przyjrzę się temu, bo jak widzę również w samym flashu można chyba zablokować skalowanie.

    @Mariusz - właśnie dlatego piszę o umiarze. Daleki jestem od fanatyzmu - wszystko jest dla ludzi, tylko trzeba myśleć ;-) . Można stworzyć bez flasha stronę, która będzie atrakcyjna dla sporej grupy użytkowników i jednocześnie niedostępna, A można i stronę z elementami flashowymi, która dzięki alternatywnej treści dalej będzie dostępna i miła dla robotów wyszukiwarek, a jednocześnie niebywale atrakcyjna (choć to już poniekąd pod utopię podpada ;-) ).
    Flash stanowią formę wyrazu nie do zastąpienia przez elementy HTMLowe, ale już treść najczęściej spokojnie można dublować.

  6. rasberryrain mówi:

    tak czy inaczej: Flash jest bez porównania bardziej efektywną metodą tworzenia stron, w html nie da się uzyskać żadnego ciekawego efektu graficznego.

  7. @rasberryrain Nie chce rozpalac Flame War, ale pozwolę się nie zgodzić:
    do tworzenia stron służy język HTML, Flash jest dodatkiem pozwalającym na tworzenie - nie przeczę efektownych (no właśnie nie efektywnych) dodatków, czy wręcz całych prezentacji multimedialnych. Gros efektów do których nadużywany jest flash można spokojnie wykonać bazując na HTML/JS/CSS. Te, których nie można, albo ich wykonanie w innej technice jest nieopłacalne to w dużej części bardziej animacje i aplikacje niż "efekty graficzne".
    Nie szafowałbym na Twoim miejscu dużymi kwantyfikatorami ("żadnego"), bo jest multum przykładów na bardzo ciekawe rozwiązania, które flasha na oczy nie widziały ;-)

  8. rasberryrain mówi:

    Nie mogę się zgodzić. Flash jest już niemal samodzielną technologią, używającą html w szczątkowej formie. Fakt że html w połączeniu z JavaScript czy PHP pozwala na tworzenie aplikacji jak fora czy portale
    społecznościowe, ale Flash ze swoim ActionScript też daje takie możliwości. To tylko kwestia czasu aż deweloperzy rozwiną takie sprawy i stanie się
    równie efektywny jak html.
    Czy animacja nie jest efektem graficznym? Jeśli nie to jakim?
    Pokaż przykład jakiegoś ciekawego rozwiązania graficznegow html, innego niż przyciski zmieniające kolor po najechaniu myszką. I nie chodzi o fajną grafikę na background, bo to żaden efekt.

  9. Gwoli ścisłości to nie flash używa HTML w szczątkowej formie - robisz pustą stronę i osadzasz na niej obiekt flash, ot co. Flash samodzielnie dawno funkcjonuje (vide export do exec'a), ale wtedy nie ma nic wspólnego ze stroną www ;-)
    Flash nie jest następcą HTMLa, to jedna z wielu możliwości. Skutecznie nadużywana m.in. w przykładach na Twojej stronie. Odwrócę kota ogonem: Nie widzę w nich nic ciekawego poza zmianą przycisków po najechaniu myszką. Poza tym: źle się indeksują w google, nie można dodać podstrony do ulubionych, czy wysłać linka znajomemu, niewidomi, czy użytkownicy sporej części komórek zobaczą plamę. O wielkości i czasie ładowania nie wspomnę - oczywiście w porównaniu z tak samo funkcjonującą stroną zrobioną w HTML/CSS/Ajax. Powtórzę gros z tych efektów spokojnie można oprogramować w HTML/CSS/JS jednocześnie zapewniając dostępność i lepsze SEO.

    To tyle w tym temacie, nie ma zamiaru ciągnąć flame'a.

Skomentuj


O ile nie jest to stwierdzone inaczej, wszystkie materiały na stronie są dostępne na licencji Creative Commons Uznanie autorstwa 2.5 Polska.