Reikalavimai interneto svetainėms
Susidūręs su interneto svetainių kūrimu iš užsakovo pusės buvau kiek pasimetęs, nes daugelis dalykų kurie atrodė savaime suprantami jas kuriant, daugumai gamintojų pasirodo visiškai nežinomi.
Ta proga, susidariau nedidelį check-list’ą svarbiausių punktų į kuriuos turėtų atrkeipti dėmesį interneto svetainės užsakovas.
Tiesa daugelis gamintojų pradeda karčiai spjaudytis pateikus tokį sąrašą … :p
Jei turite ką pridėti, maloniai kviečiu pasireikšti komentaruose!
Kai kurie reikalavimai atrodo gan juokingi, tačiau patikėkite, toli gražu ne visiems jų įgyvendinimas atrodo reikalingas…
I togo – Didysis Dariaus reikalavimų interneto svetainei sąrašas:
- Prisijungdamas prie interneto svetainės turinio valdymo sistemos (toliau TVS) , Administratorius turi būti identifikuojamas vartotojo vardo ir slaptažodžio pagalba.
- TVS turi sudaryti galimybę redaguoti turinio blokus numatytose interneto svetainės vietose, neatliekant papildomų programavimo darbų.
- TVS turi būti numatytos vietos, kuriose galima būtų patalpinti reikšminių žodžių sąrašus ( keywords) ir meta aprašymus ( description).
- TVS pagalba turi būti galimybė administruoti interneto svetainės struktūrą, tai yra, kurti/trinti/pervadinti/redaguoti puslapius iš anksto parengtuose meniu blokuose.
- Redaguoti numatytus atributus. Pavyzdžiui straipsniui priskyrus autorių iš autorių bazės, turi būti galima jį pakeisti.
- TVS turi veikti šiose naršyklėse:
- Internet Explorer 7
- Firefox 3
- Interneto svetainės vizualinė dalis turi būti atskirta nuo programinio kodo. Rekomenduojama naudoti šablonų variklį SMARTY (http://www.smarty.net).
- Interneto svetainės vartotojo sąsajos HTML šablonai privalo atitikti HTML ar xHTML standartą. Šis reikalavimas laikomas išpildytu, jei W3C Markup Validation Service (http://validator.w3.org) neranda klaidų (įspėjimų gali būti). Taip pat paliekamos šios išimtys:
- Vykdytojas neatsako už klaidas, kurios yra trečios šalies programinėje įrangoje (HTML redaktorius ir kitos).
- Vykdytojas neatsako už klaidas tais atvejais, jei toks HTML kodas vieninteliu atveju garantuoja vienodą vartotojo sąsajos vaizdą skirtingose naršyklėse.
- Interneto svetainės išdėstymui nenaudoti lentelių (TABLE).
- Interneto svetainės HTML šablonų kodas turi būti semantinis. Puslapių pavadinimams ir antraštėms rašyti naudojamos H1, H2, H3 ir pan. žymos.
- Interneto svetainės išvaizdos aprašymui naudoti CSS.
- Interneto svetainės vartotojo sąsajos stiliaus aprašai (CSS) turi atitikti W3C reikalavimus. Šis reikalavimas laikomas išpildytu, jei Validation Service (http://jigsaw.w3.org/css-validator) neranda klaidų (įspėjimų gali būti). Taip pat paliekamos šios išimtys:
- Vykdytojas neatsako už klaidas, kurios yra trečios šalies programinėje įrangoje (HTML redaktorius ir kitos).
- Vykdytojas neatsako už klaidas tais atvejais, jei toks CSS kodas vieninteliu atveju garantuoja vienodą vartotojo sąsajos vaizdą skirtingose naršyklėse.
- CSS turi būti aprašomas atskiroje (-ose) byloje (-ose), o ne HTML kode.
- Interneto svetainė turi būti vaizduojamas korektiškai šiose naršyklėse:
- Opera 9
- Mozilla Firefox 3
- Internet Explorer 6, 7 ir 8
- Safari 3.1.2
- Google Chrome
- JavaScript turi būti naudojamas esant pagrįstam poreikiui. Rekomenduojama naudoti biblioteką jQuery (http://jquery.com).
- Programinis kodas turi būti suderinamas su PHP5.2.x ar naujesne versija.
- Duomenų saugojimui turi būti naudojama duomenų bazė MySql 4.1 ar naujesnė versija.
- Jeigu Vykdytojo naudojama Adobe Flash technologija, turinys turi būti suderinamas su Adobe Flash Player 9 arba 8 versija.
- Jeigu interneto svetainės vartotojo sąsajoje naudojamos technologijos reikalaujančios įskiepių, pavyzdžiui Adobe Flash ar Java, vartotojo kompiuteryje neesant reikiamo įskiepio turi būti parodomas pranešimas su aiškiais nurodymais, kokiu būdu galima įdiegti reikiamą įskiepį.
- Navigacijai tinklalapyje ir meniu vaizdavimui naudoti tekstines nuorodas. Nenaudoti paveikslėlių, Adobe Flash ar kitų įskiepių. Apipavidalinimas gali būti vizualus, tačiau pati nuoroda turi būti tekstinė.
- Paveikslėliams, talpinamiems per TVS, turintiems iš anksto numatytą paskirtį (knygos viršelis, prekės nuotrauka ar pan.), alt atributas turi būti sugeneruojamas automatiškai iš objekto, kuriam paveikslėlis priskiriamas duomenų. Tai yra, įkeliant pagrindinę autoriaus nuotrauką, alt atributas turi būti autoriaus vardas ir pavardė, įkeliant knygos viršelio nuotrauką, alt atributas turi būti knygos pavadinimas ir autorius. Paveikslėliams, kurių paskirtis iš anksto nenustatyta, turi būti galimybė nurodyti alt tekstą. Tai yra, paveikslėliams keliamiems į galeriją ar į wysiwyg redaktorių, alt tekstą gali įvesti administratorius, jis neturi būti generuojamas automatiškai.
- Interneto svetainės vartotojo sąsajoje (front end) nenaudoti FRAME ir IFRAME technologijų. TVS aplinkoje šios technologijos gali būti naudojamos.
- Interneto svetainės vartotojo sąsajos (front end), administruojamo teksto išvedimo stiliuose, turi būti numatytas žemiau išvardintų html elementų vaizdavimas:
- Antraščių (h1, h2, h3);
- Paragrafų (p);
- Bent dviejų lygių numeruojamų ir nenumeruojamų sąrašų (ul>li, ul>li>ul>li, ol>li);
- Paveikslėlių (img);
- Lentelių (table);
- Indeksai ir laipsniai (sub, sup);
- Nuoroda (a);
- Horizontali linija (hr).
- Nuorodos į interneto svetainės puslapius turi būti prasmingo teksto, pavyzdžiui http://www.tuneliai.lt/apieknyga. Prasmingose nuorodose, gali būti perduodami papildomi GET parametrai, pavyzdžiui: http://gps-shop.lt/gps-navigacija/?lang=2.
- Meniu valdymo modulis turi turėti galimybę nuorodą paruošti automatiškai.
- Kiekvienam puslapiui turi būti suteikiamas prasmingas pavadinimas TITLE srityje, kuriame būtų matomas interneto svetainės pavadinimas ir einamojo puslapio pavadinimas. Jeigu tinklalapyje veikia TVS, prasmingas puslapio pavadinimas turi būti generuojamas automatiškai.
- Turi būti įdiegtas Užsakovo pateiktas Google Analytics statistikos sekimo kodas.
- Paieškos reikšminių žodžių perdavimas turi būti vykdomas GET metodu ir įdiegtas Google Analytics Search Track užsakovui pateikus visą reikiamą diegimui informaciją.
- Jeigu į sistemą administratorius ar vartotojai gali įkelti paveikslėlius, įkeltas paveikslėlis turi būti sumažinamas iki reikiamo dydžio išlaikant proporcijas. Paveikslėlių mažinimas turi būti realizuotas pakeičiant fizinį paveikslėlio dydį (resample), o ne nurodant kitą dydį HTML žymoje.
- Jeigu į tinklalapį įkeltas didelis paveikslėlis ir mažas paveikslėlis, vartotojo sąsajoje (front end), paspaudus ant mažo paveikslėlio, turi būti galimybė jį išdidinti Lytebox ar analogiškame komponente, nenaudojant iššokančių langų (pop-ups).
- Informacija tinklalapyje turi būti koduojama UTF-8 koduote ir palaikyti įvairių kalbų simbolius. Pavyzdžiui lietuviškas raides bei kirilicą.
- Jeigu interneto svetainėje yra RSS srautas, metaduomenyse turi būti įkelta Auto Discovery nuoroda RSS srauto prenumeratai.
Similar Posts:
Tags: css, darbas, ele, google, google analytics, gps, html, ina, interneto svetainės, knygos, Kompiuterija, mo, smart, standartai, un, www
Add a Comment Trackback
Puikus sąrašas.
Kiekvienas geras web kūrėjas daugumą paminėtų dalykų turėtų taikyti pats automatiškai visuose savo darbuose – nelaukiant jokių specialių reikalavimų.
Kaip tu iš užsakovo pusės, taip aš programuotojo, šiuos punktus paminėčiau kaip geros svetainės bruožus, o neatitikimus – kaip trūkumus, kuriuos reikia šalinti.
Visgi dėl vieno dalyko norėčiau pakomentuoti:
# Interneto svetainės vizualinė dalis turi būti atskirta nuo programinio kodo. Rekomenduojama naudoti šablonų variklį SMARTY (http://www.smarty.net).
Atskirta – be jokios abejonės, tik šablonų varikliai ne visada yra geriausias sprendimas. Dažnai jie tik padidina resursų išnaudojimą ir prideda papildomo kodo. Daugumą reikalingų funkcijų galima atlikti naudojantis vien PHP alternatyvia sintakse: http://lt2.php.net/alternative_syntax
neskaičiau visko, nes viskas ir taip aišku. tiesiog prikibsiu prie reikalavimų naršyklėms. _jokių_ IE6, gali apie ją pamiršt, naršyklė iš caro maro laikų, ir galutinai paseno išėjus oficialiai IE8, tad jos į reikalavimus nereikia kišti. jei produktas be turinio laisvai atitinka css ir xhtml strict reikalavimus, rodys ir ant IE6. jei ne, keičiama naršyklė, o ne taisomas kodas. peace.
Kai kuriuos reikalavimus niekaip negalėčiau pavadinti bendriniais, tinkančiais daugeliu atvejų.
6) nelabai ką sako ir nereikia konkretizuoti smarty
8) punkto nereikia, arba ji padaryti tik rekomendacija – tas pats google naudoja table layoutinimui. viską reikia naudoti su protu.
14) nesutikčiau su tokiu teiginiu, juolab kad jis labai nekonkretus – validavimas su jQuery – čia pagrįsta ar nepagrįsta? Jeigu negalima atsakyti į panašius klausimus, tai nereikia to rašyti, galima formuluoti kitaip – kad būtų galima atlikti svarbiausias funkcijas, kai javascript išjungtas.
15) tipo visos TVS sistemos būtinai turi būti rašomos su PHP? Niekaip nesutikčiau.
16) tas pats kaip 15)
21) kodėl draudžiamas IFRAME? Jis kartais naudojamas javascript saugumo problemoms spręsti, kurių kitaip nelabai galima išspręsti, jeigu domina, galiu atsiusti nuorodą apie tai.
26) kodėl būtinai Google Analytics? Čia gi išorinis kodas, kam to reikia, gal vykdytojas turi savo trackinimo variklį.
29) nežinau kas yra LyteBox, bet jeigu išorinis komponentas – nereikia.
Gal per daug kabinėjuosi, bet manau su kai kuriais reikalavimais galima išgąsdinti visai normalius developerius.
Geras rinkinys! Pasisemiu patirties, ačiū, kad pasidalinot!
Gal jau pamirškit ie6? Ir nereikia čia spangti, kad “lankytojai tai naudoja bla bla”. Jei lankytojas atsidaro su IE6 tai duodi jam nuorodą su FF3 ir lietuvišką instrukciją kaip įdiegti, o ne stabdai internetinių puslapių tobulėjimą.
Gerbiamieji, kas liečia IE6, imu vienos mano prižiūrimos interneto parduotuvės pastarojo mėnesio statistiką ir matau, kad 23.9% vartotojų vis dar naudoja IE6. Deja negaliu sutikti su teiginiu, kad “nebereikia stengtis palaikyti suderinamumą su IE6″.
Dėkui už informatyvius komentarus! :)
Jūs esate visiškai teisus, dalis reikalavimų anaiptol negali būti laikomi visiškai bendriniais, nes yra suderinti su organizacijos politika.
Dėl tables – pagrindinis mano argumentas prieš – krovimo laikas. IE nepradeda rodyti lentelės, kol pilnai jos neužkrauna.
Dėl Google Analytics – retas vykdytojo trackinimo variklis prilygsta GA analitinėms savybėms.
Ar manote, kad išorinių komponentų naudojimas smerktinas dalykas? Kuriant viską nuo 0 nebūtinai užteks laiko ir kompetencijos ištestuoti suderinamumą. O naudojant patikrintas bibliotekas gauni daugelio žmonių darbo vaisių :)
Būtent, tenka taikytis su IE 6, kad ir kokia bloga ji yra. Reikalavimas apie svetainių palaikymą turėtų būti kažkas tokio: “Reikia, kad svetainė būtų tvarkingai atvaizduojama su visomis svetainėmis, kuriomis ateina daugiau, nei X% vartotojų.” Statistiką imam iš regiono, kuriam kuriama svetainė, o dėl konkretaus X dydžio reikia patyrinėt :)
Autoriui: Fusion temą aš irgi naudoju viename savo projekte :) Man ji patinka.
SMARTY rekomenduoju dėl to, kad:
1. Ji yra gerai dokumentuota ir paprastos sintaksės
2. Spartos problemoms spręsti turi įvairaus lygio cachinimo priemonių
3. Lengvai plečiama pluginais
4. Pluginai yra standartizuoti ir portabilūs
5. Naudojant alternatyvią php sintaksę, dažnam programuotojui sunku atsispirti pagundai perkelti gabalėlį logikos į šabloną :)
6. Visiškas kodo ir šablono atskyrimas sumažina galimybę šablone sugriauti logikos dalį. Tai aktualu, kai skirtingi žmonės dirba viename projekte.
Iš dalies Jūs esate teisus, yra atvejų, kada šablonų varikliai nereikalingi, tačiau dažniausiai jie yra gerai pritaikomi.
geras sąrašas, aišku matosi, kad advanced user’is jį kūrė, bet tai turėtų būti minimumas manau. pačiam tenka dirbti su kodu ir dizainu, tad galiu prieš šį list’ą vieną dalyką gyvenimišką pasakyti: kartais derinant užsakovo pageidavimus ir vtūkstantinius pataosymus nelieka laiko viską įgyvendinti korektiškai. dar labiau krenta ūpas kai paskambina užsakovas ir klausia “už kiek padarysi šiais sunkiais laikais”, ir kai užsinori kažko už 5K, o mokėti nori/gali tik 1K rezultate sužaidžia visai kiti dalykai :)
Del IE6, tai sorry, bet šiai naršyklei jau 8 metai, per tą laiką daug kas keitėsi ir taikytis prie jos yra beprasmiška. Vartotojai sėdintys su legaliais windowsais naudoja bent jau IE7, jei sėdi su nelegaliais, ką gi, tavo bėdos – vogtos mašinos nevarai į regitrą ir nereiški pretenzijų jog atsisakė registruoti. O tie vartotojai kurie iki šiol sėdi su win98 sistemomis, kagi, tai irgi jų bėda, win98 nepalaikomi jau n metų.
Su table irgi situacija kartais būna įdomi, kai yra vaizduojama lentelė, netgi kartais excel kopija, tačiau užsakovo frazė būna “ai, čia lentelė? Aš skaičiau, kad lentelė yra blogis”. Žodžiu nereikia persistengti :) O šiaip su dauguma punktų sutinku.
Čia pačios pagrindinės taisykles. Kuriant svetaines reikia atsižvelgti į daug daugiau niuansų. Čia daugiau mažiau techniniai klausimai. O kur geras projektavimas, vartotojiškumas?
Bėda, kad klientui dažniausiai šie burtažodžiai mažai ką sako. Gali tik pasakyti, kad svetainė bus gera.
Didžioji dalis išvardintų reikalavimų automatiškai įsigyvendina, jei naudoji gerą įrankį. Pvz. ImpressPages
Dar pridėčiau „automatinę versiją spausdinimui“, t.y. file → print preview ir matai kitu išdėstymu, kitu šriftu, etc.
Ir dar, kodo dokumentacija.
Taip. Tik nupieštas printeriukas jau yra atgyvena. Svetainė turi būti suprogramuota taip, kad stiliai automatiškai pasikeistų, kai tik paspaudi print.
Tai aš apie tą patį. Tik ne visi mėgsta „aklai“ spausti Ctrl+P. Aš asmeniškai mėgstu „prevenciškai“ pažiūrėti file → print preview.
Nupiešatas printeriukas dažniausia būne ten, kur layout’ui naudojamos lentelės – reikia kitaip sugeneruoti puslapį.
Vat, pavyzdžiui, šitas puslapis neturi versijos spausdinimui :)))
Mielai jį atsispausdinčiau be visokių šoninių blokelių, serifiniu šriftu, su „atspausdinta iš“ kad galėčiau vėliau sugrįžt, etc.
Bet naršyklės šiais laikais labai protingos. Ir aš kartais nežinau. Ar geriau pasitikėti naršykle ir leisti jai spausdinti tiksliai tai, ką matom ekrane, ar per prievartą išvalyti viską ir palikti spausdinimui tik turinį. Čia tarsi du kraštutinumai. Nežinia ko vartotojas tikisi: atspausdinti tai ką mato ar atspausdinti tik tekstą, kurio jam reikia be meniu ir kitų vebinių dalykų.
Na, pavyzdžiui, kam man spausdinant šį puslapį reikalingi elementai dešinėje? – Tag cloud’as, recent comments… Tik vietą be reikalo užimtų, o paskui einantis tekstas būtų labai siauras.
O jei naršytojui reiks atsispausdinti tiksliai tai ką mato, jis spausdins screenshot’us.