25Nov

    Mājas lapu validācija

    Esmu saņēmis kaut kad ļoti interesantu komentāru no viena skolnieka “ir jābūt ļoti stulbam, lai radītu mājas lapu, kura nav valīda!” Tāds bija aptuvenais teksts.

    Papētot šo lietu, jāsecina ka tā gan gluži nav :)

    Lūk pāris interesantas atklāsmes:

    Mediaparkā radītās mājas lapas (sāku ar Mediaparku, jo uzskatu, ka tas ir līderis Latvijā):

    1. www.madona.lv – 210 Errors, 12 warning(s)

    2. www.paklat.lv – 70 Errors, 8 warning(s)

    3. www.standarts.lv – 87 Errors, 13 warning(s)

    4. www.fms.lv – vispār nevalidējas (Redirect loop detected (max_redirect = 7))

    5. www.vni.lv 23 Errors, 3 warning(s)

    Skatāmies tālāk Ecube.lv:

    1. www.rigassvetki.lv – 31 Errors, 3 warning(s)

    2. www.patrioti.lv – 4 Errors, 3 warning(s)

    3. www.june.lv – 26 Errors, 19 warning(s)

    4. www.paulpenders.lv – 54 Errors

    5. www.walldec.net – 12 Errors, 2 warning(s)

    Nākamo skatīsim BizBiz.lv:

    1. www.emulators.lv – 20 Errors

    2. www.teodori.lv – 210 Errors, 12 warning(s)

    3. www.otrapuse.lv – 48 Errors

    4. www.artursberzins.lv – 34 Errors

    5. www.zehnder.lv – 14 Errors, 8 warning(s)

    Nueztracaties arī manās lapās ir validācijas kļūdiņas. :)

    Tālāk apskatīsim pupulārākos portālus:

    1. www.delfi.lv – 38 Errors, 204 warning(s)

    2.www.apollo.lv – 14 Errors, 1 warning(s)

    3. www.tvnet.lv – 730 Errors, 1320 warning(s)

    4. www.iauto.lv – 180 Errors, 66 warning(s)

    5. www.ss.lv – 17 Errors, 5 warning(s)

    6. www.datuve.lv – 96 Errors, 6 warning(s)

    7. www.ipods.lv – 38 Errors, 2 warning(s)

    Tagad apskatīsim pāris ārzemju lapas:

    1. www.cnn.com – 108 Errors, 39 warning(s)

    2. www.apple.com – 4 Errors, 1 warning(s)

    3. www.bing.com – 12 Errors

    4. www.microsoft.com – 98 Errors, 40 warning(s)

    Validācija veikta: 25.11.2010.

    Validators apskatāms šeit –Markup Validation Service

    Ko es vēlējos ar to visu pateikt?

    Būtībā radīt 100% valīdu lapu ir ļoti grūti. Kaut vai aiz tā iemesla dēļ – ka lapas lietotāji (“administratori”) bieži vien izmanto WYSIWYG teksta redaktorus, kuri paši pēc savas būtības nedod valīdu kodu ārā. Ar šo rakstu vēlējos apgāzt apgalvojumus – “lapai jābūt valīdai obligāti” un “tu esi muļķis, ja nespēj radīt valīdu lapu”.

    Ieteikumi, kā to labot

    Pirmkārt ir jāsaprot, ka pasaulē ir ļoti daudz interneta pārlūki. Paši pārlūki bieži vien nespēj attēlot korekti lapas (pat ja tās ir valīdas). Otrkārt, validācija (n visi W3C ieteikumi) ir tikai ieteikumi. Ja uzprogrammēsit lapu, kura nebūs 100% valīda – par to Jums neviens nedrīkst raut galvu nost. Manuprāt, galvenais, lai lapa būtu lietojama bez problēmām uz 97% sistēmām. Ar to pietiks.

    Pieraksties Jaunumiem!

    Pieraksties Jaunumiem!

    • esuntu

      Lapu ķemmēšanai uzrādot tikai kļūdu skaitu neredzu nekādu jēgu. Jo ļoti, ļoti svarīgi ir – kādas kļūdas (nevis cik kļūdas) ir lapā. Ja kļūda ir &, nevis & izmantošana linkos, tad tas ir mazsvarīgi. Bet ja nav aizvērti desmit elementi, tad tas ir ļoti svarīgi.

      Turklāt pēc validācijas tāpat var skaidri noteikt vai kļūdas veido wysiwyg’i, vai lapas pamatkods ir kļūdains.

      Arī arguments, ka pārlūki nespēj attēlot lapu pareizi, pat ja tā ir valīda – tas nozīmē tikai to, ka kods ir pavirši rakstīts, nevis pārlūks vainīgs ;)

    • esuntu

      Ah jā, komentāru satura filtrs. Otrais teikums būtu laikam šādi jāraksta – Ja kļūda ir &, nevis &amp; izmantošana linkos, tad tas ir mazsvarīgi. Bet ja nav aizvērti desmit <div> elementi, tad tas ir ļoti svarīgi.

    • tante

      MULJKJIIBAS !!! Nav nemaz tik gruti uztaisit valiidu lapu, ja programmerim nav liikas rokas.
      Ja koderis skataas validaaciju, tas paliidz izvairiities no visaadaam citaadaam kljuudaam !!
      99.9% weblapas ir nevaliidas, jo internets ir pilns ar miskasteem. Tas izskaidrojams arii ar to, ka LABI porgrammeri/speciaalisti ir tikai 0.1%

      • tante, nu diez vai, ka 0,1% programmētāju ir cool :))) tas ir no sērijas apgalvot – a vo… tas idiots braukā ar BMW – līdz ar to agresīvais :DD jābūt kaut kādai loģikai, lai tādus skaitļus pamatotu

    • Tas parāda, ka apollo ir kodējuši daudz maz sakarīgi cilvēki, tik liela lapa (struktūra), un ir ok.

      Bet ir viens bet. Daudzas lapas ir kodētas tā, lai vecie IE saprastu, un tas nozīmē, ka daudzi argumenti tiek likti pēdiņās, un validators to uzskata par kļūdu… tapēc būtu kārtīgi jāizskata visas kļūdas un jāatmet pēdiņu kļūdas, jo tās ir vajadzīgas, lai vecie pārlūki spētu kko attēlot.

    • Tas tikai pierāda, ka liela daļa web izstrādātāju ir “ļoti stulbi”.

    • Visu nosaka attieksme:

      http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.hc.lv%2F

      tas pats http://web.hc.lv , http://dzejolis.lv , http://ehoroskopi.lv u.c.

      Un Vadim, jā, labi, ja 0,1% no tiem, kas sevi uzskata par cooliem programmētājiem arī reāli tādi ir. Ne jau par velti labiem programmētājiem ir labas algas.

    • Starp citu, uzņēmumiem ir grūtāk panākt validāciju, jo pārāk daudz dažādu cilvēku ar dažādiem uzskatiem darbojas pie viena projekta. Kad no Mediaparkā griezu http://www.vni.lv , tad sagriestais variants validējās. Programmētājs savukārt ieviesa HTML5 fīčas, neuztraucoties par validāciju.

      Validācija ir savā ziņā kvalitātes rādītājs. Ja lapa validējas, tad ir skaidrs, ka tur ir piestrādāts. Ja lapa nevalidējas, tad vai nu izstrādātājs par to neuztraucas, uzskata, ka tas nav nepieciešams, varbūt nezin, kas ir validācija, un varbūt vienkārši raksta līku kodu. Ej nu uzmini.

      • jaa, piekrītu! bieži vien pie vainas ir cilvēku vēlme darboties uz savu roku!

        • Varu tikai piekrist deni2s. Kādeiz strādājot par xhtml/css griezēju, vienmēr programmētājiem devu tikai 100% valīdu xhtml, bet neatceros ne vienu reizi, kad tas tāds būtu palicis līdz projekta publicēšanai, ja pats tur neiejaucos.

          Patiesībā, ja html griež cilvēks, kuram tā ir pamatnodarbe, fokusējoties uz pašu html kodu, nevis backend funkcionalitāti, tad drīz vien viņam kods sanāk bez validācijas kļūdām nemaz pie tā īpaši nepiedomājot.

    • Validācija ir tikai vēl viens projekts, kas ir izveidots, lai slauktu naudu no organizācijām (arī parastajiem cilvēkiem). Palasiet vairāk ārzemju presi, tur var jauki izlasīt visu vairāku validācijas organizāciju strīdus un attiecīgi izdarīt secinājumus.
      Validāciju varētu salīdzināt ar māju, kas tiek nodota ideālā stāvoklī, bet līdzko tur ievācas cilvēki, vienmēr būs kaut kur nekārtība. Un tas ir normāli, jo ideālas mājas, ja tur dzīvo cilvēki, ir tikai filmās, vai gejiem.
      Lielākais vairums profesionālie mājaslapu izstrādātāji ne pārāk pievērš uzmanību validācijai. Ar to parasti aizraujas cilvēki, kas tikko ir sākuši nodarboties ar saitiem un nezina reālo dzīvi un lapu uzturēšanu. Puņķainie tīņi un gīki, par hardcore bloggeriem nerunāsim, viņi var rtakstīt arī pure HTML. :)

      • Tā nu gan gluži nav. Validācija ir viens no panēmieniem, kā spriest par izstrādātāju profesionalitāti un darba kvalitāti.

        Nekad nevar zināt, kā nākošā kādas pārlūkprogrammas versija uztvers kodu, kuru programmētājs uzrakstījis, kā viņam pašam ienāk prātā, nevis vadoties pēc pasaulē pieņemtiem standartiem.

        Pareizu kodu pārlūkprogramma var sarenderēt ātrāk, nekā iekš “quirks mode” mēģinot uzminēt, kam tur būtu jābūt un pielāgojoties kodera līkrocībai.

    • DMG

      Mazai lapiņai nav grūti uztaisīt 100% validāciju, bet lieliem portāliem tāpat nekad nespēsi izsekot visām tām validācijas muļķībām. Un galvenais iemesla nav līkas rokas, bet tas, ka tiešām pārlūku ir ļoti daudz un bieži vien risinājumi, lai lapa rādītos arī uz vecākiem pārlūkiem nav tie risinājumi, kuri spēj iziet validāciju. Un tad tad jāizlemj, kas ir svarīgāk – lai lapa rādītos visiem lietotājiem pareizi vai, lai tā izietu 100% validāciju.
      Bet nu, protams, taisnība ir arī tajā, ka labu programmētāju ir maz. Pats esmu labojis neskaitāmas lapas, kuru kods ir vienkārši drausmīgs.

      • Parādi kaut vienu konkrētu piemēru, kur nevalīds kods darbojas labāk uz vecākajiem pārlūkiem, nekā valīds, un kur to nevarētu norealizēt ar valīdu kodu.

        • DMG

          Man nemētājas te fails ar piemēriem. Bet ok pēdējais sviets ar ko mocījos ir:
          display: block;
          position: fixed !important;
          position: absolute; /* ie6 and above */
          top: 0%;
          left: 0%;
          width: expression( document.body.clientWidth );
          height: expression( document.body.clientHeight );
          width: 100%;
          height: 100%;
          background-color: #000000;
          overflow: hidden;
          z-index: 1001;

          Šis kods nav valīds, taču lieliski uzliek melnu ekrānu pa visu lapu gan uz IE6 gan pārējiem pārlūkiem. problēma ir tajā, ka IE6 “fixed” neatpazīst un width: 100%, height: 100% ar ne pārāk labi spēj realizēt. Ja tev ir valīds kods šim, tad sper vaļā.

          • IE6 domātās izvirtības var mierīgi glabāt atsevišķā CSS failā, kuru ar conditional comments parādīt tikai šim “pārlūkam”.

            Tad tās netraucēs citus pārlūkus un arī validators nebļaustīsies.

            Un vispār, te vairāk runa bija par (x)HTML kļūdām, nevis CSS nestandarta iespējām.

            • DMG

              1, kārt neredzu, ka kkur rakstā būtu teikts tikai HTML. Mājas lapu validācija ir visa koda validācija nevis tikai html. Galu galā kas tā par lapu, ja tajā ir tikai html?
              2. kārt width: expression( document.body.clientWidth ) vispār nav css kods, ja to vēl kāds nezina, taču tas strādā, tā kā bāz kur gribi tas nebūs valids.
              3. kārt es parādīju problēmu un vai nu parādiet 100% valīdu risinājumu vai aizveras un beidz te censties parādīt, ka visi ir muļķi izņemot dažus indivīdus, kuri vot visu prot uztaisīt 100% valīdu.

    • Rob4iks, izskatās, ka tu neatšķir blogerus no koderiem. Lielākā daļa blogeru pat nezin HTML. Māk uzlikt WP un celt haju.

      “Ar to parasti aizraujas cilvēki, kas tikko ir sākuši nodarboties ar saitiem un nezina reālo dzīvi un lapu uzturēšanu.” – parasti tā ir, taču izmantot “reālo dzīvi” kā attaisnojumu nav pareizi. Tas tāpat, kā būvniekam nodot ne pēc standartiem būvētu māju aizbildinoties ar “reālo dzīvi” un ražošanu.

      Uzturēt mājas lapu valīdu nemaz nav tik grūti, tam nepieciešamas tikai 3 lietas:

      1)Valīds CMS kods.
      2)WYSIWYG satura editors, kas ģenerē valīdu kodu.
      3)Jāseko līdzi visiem Youtube utt kodiem, kurus ievieto savā mājaslapā, jo parasti tie nevalidējas.

      Nekas no tā nav nekāda raķešu zinātne, lai to nevarētu ieviest ražošanā.

      Bieži vien koda validācija arī automātiski nozīmē lielu vairumu accessibility ieteikumu ievērošanu, par ko LV vēl neviens nedomā, bet EU jau sāk spiest uz to. Tas jau ir tikai lietotāju interesēs.

      Kad viens labs klients man pajautāja par koda validāti, es atbildēju, ka vismaz 95% mājaslapu nav valīdas, uz ko viņš atbildēja: “Jā, bet mums nav jābūt kā visiem. Mums jābūt labākajiem.” Un tāda attieksme viņam ir par visu. Tāpēc man liels prieks, ka viņa bizness zeļ un plaukst.

    • cuu508

      1. “Ko es vēlējos ar to visu pateikt? Būtībā radīt 100% valīdu lapu ir ļoti grūti.”

      2. “Ar šo rakstu vēlējos apgāzt apgalvojumus – “lapai jābūt valīdai obligāti” un “tu esi muļķis, ja nespēj radīt valīdu lapu”.”

      Īsti nesaprotu, kā no pirmā izriet otrais.

      • tas kas tur rakstīts – to arī vēlējos pateikt. Ja teikumi ir salikti secībā (ar numerāciju) – tas nenozīmē, ka nākamais teikums tiek atvasināts no iepriekšējā ;)

        • cuu508

          Ahā, bet tad man nav skaidrs, kā tieši Tavs raksts mēģina gāzt tos divus apgalvojumus.

          Uzturēt lapas kodu valīdu prasa papildus darbu. No raksta redzam, ka daudzām lapām, t.sk. populārām un sarežģītām, tas nav izdevies. Bet tas nenozīmē, ka lapas validēšanās nav svarīga, vai arī, ka valīdas lapas radīšanai vajag kādu īpašu gudrību.

          • wadims

            Pierādot ka ļoti daudzas lapas nav valīdas, es apgalvoju, ka
            1. Ko es vēlējos ar to visu pateikt? Būtībā radīt 100% valīdu lapu ir ļoti grūti.
            2. Ar šo rakstu vēlējos apgāzt apgalvojumus – “lapai jābūt valīdai obligāti” un “tu esi muļķis, ja nespēj radīt valīdu lapu
            Kas tur nav saprotams???

            • cuu508

              Nav saprotams, kā no sava, hmm, pierādījuma, tiki pie otrā punkta.

              Trīs jautājuma zīmes Tavā atbildē liek domāt par dziļu neizpratni, tāpēc piedāvāju vēl analoģiju. Kad novembra sākumā vēl braukāju ar ļoti nodilušām vasaras riepām, man teica, ka tā darīt ir ļoti dumji, un obligāti ir jāuzliek ziemas riepas (ko es arī izdarīju). Bet es būtu varējis aiziet uz lielveikala stāvlaukumu un tur sameklēt 27 automašīnas ar vasaras riepām–jaunas un vecas, lētas un dārgas, lielas un mazas, ražotas Eiropā, Japānā un Amerikā. Vai, uzrādot šīs automašīnas, es būtu apgāzis apgalvojumus, ka 1) braukt ar vasaras riepām ziemā ir dumji, un 2) tās noteikti jānomaina uz ziemas riepām?

            • Man liekas, ka tu esi pārpratis manis rakstīto…
              Pārlasi lūdzu! No sākuma līdz beigām! Lūdzu!

    • DMG, izskataas, ka tavs nevaliidais css kods taapat bez javascripta nedarbosies, tad kaapeec tevis noraadiitos stilus nedefineet ar valiida javascript paliidziibu? un viss uzreiz valideejas.