Poslepu.cz na novém URL

Od ledna 2014 najdete blog na adrese poslepu.cz.

Zobrazují se příspěvky se štítkemnette framework. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemnette framework. Zobrazit všechny příspěvky

neděle 31. října 2010

Přístupnost Nette aplikací

Přístupnost Nette aplikací byla tématem říjnové poslední soboty. S kolegou Romanem Kabelkou jsme rádi přijali pozvání Davida Grudla a v sobotu odpoledne dorazili do Veselé vačice popovídat přibližně třiceti členům Nette komunity o přístupnosti.

Krátký úvod do problematiky, který jsem měl "na starost" já, jsem zaměřil na seznámení účastníků s principy práce s alternativními vstupy a výstupy, s webovou stránkou, formuláři, CSS a Javascriptem a potencionální úskalí AJAX aplikací. Pak si vzal slovo Roman a na praktických příkladech ukázal přístupnost webových aplikací postavených na Nette a přístupnost komponenty DataGrid.

Pokud jste se Poslední soboty nemohli zúčastnit a toto téma vás zajímá, můžete si prohlédnout videozáznamy našich přednášek, které už jsou k dispozici.

Podle ohlasů účastníků padala naše slova na úrodnou půdu, takže věříme, že po této osvětě budou weby, postavené na Nette, ještě přístupnější než doposud ;-)

Děkujeme.

Fotogalerie na Flickr.com

22. Poslední sobota Dobrodružná, 30. 10. 2010

Videozáznamy přednášek

Související odkazy

pondělí 24. května 2010

Jak se programuje poslepu. Bonus závěrem - videoukázka.

S kolegou Romanem Kabelkou jsme dnes připravili (teda hlavně Roman, já jen točil ;-) malý bonus k miniseriálu o tom, jak se programuje poslepu. Pokud vás zajímá, jak Roman jen za pomoci screenreaderu a braillského řádku programuje, podívejte se na následující video.

Související odkazy

čtvrtek 20. května 2010

Jak se programuje poslepu. Díl třetí - Nette Framework.

V posledním díle seriálu o programování jen pomocí sluchu a hmatu nás Roman Kabelka seznámí s tím, jak se mu poslepu používá Nette Framework.

Slovo má Roman.

Na podzim minulého roku jsem se dozvěděl o Nette Frameworku. Ihned mě zaujaly dvě vlastnosti:

  • Webová aplikace má m vstupních akcí a n výstupních pohledů, přičemž logicky související akce a pohledy jsou sdruženy v jedné třídě (presenteru).
  • Podoba pohledu je dána šablonou, jež má úspornější zápis a větší bezpečnost, než když šablona je tvořena přímo v PHP.

Presentery a celý komponentový systém formují zdrojové kódy do ustálené struktury, s níž lze pomocí dříve uvedených technik orientace nalézt požadovaný kus kódu. Metody pro akce a pohledy mají v presenterech předepsané konvence, což lze využít např. tak, že hledáním řetězce "ion act" je možné přeskakovat po jednotlivých metodách akcí.

Šablony Latte filteru tím, že dovolují uvození výstupu "<?php echo ..." zkrátit na pouhou otevírací složenou závorku, přispívají také k příjemnější práci. Pokud k tomu přidáme ještě tzv. n atributy, je zdrojový kód přehledný a prostorově úsporný, což se ocení především při čtení skrze braillský řádek.

I když z hlediska přehlednosti je Nette Framework pro nevidomé programátory dosti dobrým pomocníkem, neznamená to, že by každý měl začínat s prvními pokusy o webové aplikace právě v Nette Frameworku. Hlavní úskalí vidím v dokumentaci frameworku a ve faktu, že objektové programování začátečníkům nebude zcela vlastní. Pokud ovšem je člověk schopen toto zvládnout, projeví se veškeré přednosti Nette Frameworku.

Když mi před nedávnem volal kamarád s tipem na vytvoření webu, který se bude skládat převážně ze statických stránek a dvou formulářů odesílaných na e-mail, pojal jsem to jako šanci odzkoušet Nette Framework. K tomu ve skutečnosti došlo až ve chvíli, kdy byl web již hotový. Vše spěchalo, a tak jsem jej dočasně vystavěl na svém vlastním malém frameworku. Po převedení do Nette Frameworku jsem tak mohl porovnat výhody jednotlivých řešení:

  1. Nebýt jednoduchosti vyvíjeného webu, musel bych řešit generování navigace v Nette Frameworku dle mých požadavků, což ve svém frameworku jsem měl ošetřené.
  2. Šablona webu v Nette Frameworku je přehlednější zejména díky chytré syntaxi Latte filteru, jehož výhoda ve stručnosti byla již zmíněna.
  3. Web www.pujckynej.net postavený na Nette Frameworku je členěn do čtyř logických celků, což umožňuje snadno dohledat příslušné pasáže:
    1. Statické stránky.
    2. Stránky generované z dat v XML a transformované pomocí XSLT.
    3. Stránka s formulářem pro žádost o spolupráci.
    4. Průvodce pro formulář s on-line žádostí.

Mé původní řešení pro statické stránky bylo jednoduché, pro formuláře však už nepříliš průhledné, neboť v rámci přehlednosti se kód tříštil do několika objemějších souborů ošetřujících všechny situace.

  1. Nette Framework přirozeně vede programátora k dělení aplikace do menších souborů, jež jsou však přehledně provázány díky dědičnosti tříd a doporučené adresářové struktuře. Myslím si, že čím menší soubor, tím lépe pro orientaci skrze odečítač.
  2. Nette Framework elegantně soustřeďuje na jedno místo definice formulářů a pravidla jejich chování. Z mých zkušeností opakující se HTML kód nejen, že je nezáživný na psaní, ale vykazuje i vyšší chybovost. Orientace v takovém jednotvárném textu je bez zrakové kontroly do jisté míry ztížena vlivem právě jednotvárného okolního kontextu. Tento problém se především týká formulářů a tabulek. Nette Framework kód formuláře generuje dle stručných volání metod, což nesnáze značně v této oblasti redukuje.

Závěrem

Poslepu rozhodně programovat lze. Dá to pouze více úsilí v hledání programovacího jazyka a vývojového prostředí, s nimiž zrakově postižený programátor se dobře zžije z hlediska abstraktního myšlení a automatizace běžných postupů. Mně se nejvíce osvědčil Poznámkový blok Windows a PSPad, z čehož větší úsilí přímo plyne. Je nutno si však uvědomit, že sofistikovaná vývojová prostředí práci skrze odečítač v mnoha případech nijak výrazně neusnadní. Dle mých zkušeností hlavním zdrojem těchto komplikací nejčastěji bývá nestandardní přístup z pohledu operačního systému k ovládacím prvkům, jež umožňují různé zvýrazňování kódu a jeho automatické doplňování, což odečítači může činit nemalé problémy při vyčítání relevantního obsahu.

Na závěr si můžete prohlédnout zdrojový kód třídy jednoho z formulářů, jež jsem vytvořil pro zmíněný web Pujckynej.net.

Autorem článku je Roman Kabelka.

Související odkazy