O tuo metu olandai…

Peter-Paul Koch, Javascript guru, paporino, kad jau nuo praeitų metų rugsėjo pirmos pas juos galioja įstatymas, kuris kelia gana griežtus reikalavimus vyriausybinių institucijų svetainėms. Be kitų dalykų, reikalaujama:

  • validaus HTML 4.01 arba XHTML 1.0;
  • CSS ir prasmingo (semantiško) HTML; stuktūros ir atvaizdavimo atskyrimo;
  • naudoti W3C DOM modelį (o ne Internet Explorer’io document.all);
  • prasmingų class ir id atributų…

Matyti, kad įstatymą ir rekomendacijas ruošė išmanantys žmonės, kaip pasakoja pats Peter-Paul, sugebantys apie interneto technologijas ir accessibility diskutuoti ir tarptautinei www konferencijai gėdos nepadarysiančiu lygiu.

O Lietuvoje? Lietuvoje mes turime LRV nutarimą Nr. 480 “DĖL BENDRŲJŲ REIKALAVIMŲ VALSTYBĖS IR SAVIVALDYBIŲ INSTITUCIJŲ IR ĮSTAIGŲ INTERNETO SVETAINĖMS APRAŠO PATVIRTINIMO”. Priimtas dar 2003 m. balandžio 18 d. atnaujintas 2006-10-25 (atnaujinimas, jei neklystu – tik pavadinimo keitimas).

Apie web standartus ir accessibility truputį užsimena vienintelis (ir už tai ačiū!) punktas:

26. Įstaigų interneto svetainėse siūloma laikytis Pasaulinio interneto tinklo konsorciumo rekomendacijų, apibrėžiančių interneto tinklalapių modeliavimo kalbų naudojimą (rekomendacijos skelbiamos tinklalapyje http://www.w3.org/TR). Įstaigų interneto svetainių peržiūrai negali būti reikalaujama specialios komercinės programinės įrangos. Dokumentai tinklalapiuose turi būti prieinami naudojant ir atvirus (aprašytus) duomenų failų formatus (HTML, PDF ir kita). Rekomenduojama tinklalapius pritaikyti duomenų perdavimo protokolą palaikantiems bevieliams ryšio įrenginiams.

Aš dar 2005-ųjų pavasarį bambėjau šia tema rašiusiam “Veido” žurnalui, kad reikalavimai sau, realybė sau. Teoriškai arklys, praktiškai neatsikelia… Reikia manyti, kad per tuos porą metų arklys visai padvėsė, nes vaizdas iš blogo palaipsniui tapo kraupus.

Nors… Negaliu sakyti, kad šie reikalavimai visai neturi praktinio pritaikymo. Iš vienos pusės, Informacinės visuomenės plėtros komitetas (kurio nekompetencija abejoti neturiu pagrindo) turi darbo rengdamas ataskaitas, apie tai, kad va, svetainės reikalavimų neatitinka, bet šiemet neatitinka jau mažiau nei pernai. Labiau graudu, nei juokinga, kad pati atskaita pateikiama tik kaip MS Word dokumentas. O kas nutiko aukščiau cituotam reikalаvimui dokumentus pateikti atviru formatu?

Dar graudesnis vaizdas – užsukus į “pritaikyta neįgaliesiems” (beje, tokios atskiros versijos egzistavimas jau patikimas pranašas, kad accessibility srityje gero nelauk). Kažkoks košmaras ir pasityčiojimas :(. Blogiausia, kad kažkam užteko įžūlumo visą tai papuošti WAI-AA ženkleliu. Atsiprašau, gerbiamieji, bet mėšlo krūvą puoškite nepuošę Chanel No. 5 etikėtėmis, esmės tai nepakeis.

Antrasis praktinis pritaikymas įdomesnis, bet paliksiu jį kitam kartui, tai verta atskiro pasakojimo.

Ar aš noriu olandiško įstatymo Lietuvoje? Ne. Kaip sakė Bulgakovo herojus profesorius Preobraženskis: разруха не в клозетах, а в головах. Joks įstatymas kodo nesutvarkys ir kompetencijos nepakels. O kai mes patys prisiimsime atsakomybę už tai ką ir kaip darome, kai imsime gerbti savo darbą, užsakovus, ir svarbiausia – vartotojus, tada neliks ir poreikio drakoniškiems įstatymams.

javascript:

Šiam įrašui sukūriau naują kategoriją: “blogis”. Neapsigaukite: blogis ne programavimo kalba, o protokolas, tiksliau pseudo protokolas, nes oficialiai protokolo javascript: nėra.

Niekada, niekada nuorodose nenaudokite href="javascript:".

Vienas labiausiai erzinančių dalykų, kai bendaršydamas viduriniu pelės mygtuku/ratuku sumaigai dėmesį atkreipusias nuorodas – jos atsidaro naujose kortelėse (tab’uose).
Eini skaityti ir randi tik tuščią langą ir adreso eilutėje besipuikuojantį “javascript:”.

Nenoriu dabar išsiplėsti apie naujų langų atidarymo pliusus ir minusus, bet jei jums laaaabai reikia naujo lango, padarykite civilizuotai. href attribute turi būti nuoroda į galutinį dokumentą: ar tai būtų didesnio formato paveikslėlis rodomas paspaudus ant sumažintos versijos, ar formos lauko aprašymas, rodomas iššokančiame lange paspaudus nuorodą “pagalba”.

Kai nuoroda veda tiesiog į dokumentą, niekas nesugriūva:

  • Nuorodos veikia net kai naršyklė nepalaiko Javascript arba tas palaikymas išjungtas.
  • Paieškos sistemos sugebės turinį rasti ir suindeksuoti.
  • Aš ir toliau galėsiu spragsėti vidurinį pelės mygtuką, o rezultatas neprivers sakyti kelių negražių žodžių.

Visišku blogiu javascript: pavadinti negaliu, nes, nors nuorodose jam vietos nėra, bet kai kur šis pseudo protokolas praverčia. Kalbu apie bookmarklets.

Va šis

javascript:(function(){
alert(document.getElementsByTagName('table').length)
})();
man iš karto pasako, kiek lentelių yra panaudota tinklalapyje. Jis neveiks, jei puslapis rėmeliuose (frames), bet tokiu atveju lentelių skaičiuoti ir nebereikia…

Užvakar visai netyčia pakliuvau į vienos lietuviškos kompanijos tinklalapį, kuriame visa navigacija suregzta būtent su tuo nelemtu javascript:. Suregzta ne bet kaip, o su fantazija, nes funkcija, kuri turi rodyti kažkokį puslapį realizuota window.content.location = 'somepage.html' motyvais. Trys skirtingos nuorodos – trys skirtingos funkcijos.

O firma tikrai ne nauja, bet kažkaip buvau ją pamiršęs. Javascript mano naršyklėje, lamei, veikia, tai panaršiau. Nuostabūs tekstai, nežinau, ką jie rūkė juos rašydami, bet, pasak Woody Alleno, verčiau tegul nebando to vežti per muitinę. Tiek daug buzzword’ų ir stantrumpų ir taip mažai prasmės vienoj vietoj senokai neteko matyti. Akivaizdu, kad šios knygos jie neskaitė (labai gera knyga, rekomenduoju). O gal aš tiesiog per kvailas suprasti tokius dalykus kaip “We are creating innovation because of innovation”.

Žinote ką, vaikinai, jei tokia navigacija yra inovacijos pavyzdys, tai grabe aš mačiau tokią inovaciją.