Menyemak data untuk kesahihan. Kod html yang sah Permintaan yang sah

Setakat ini kami telah melihat bahagian individu kod HTML. Tetapi dokumen HTML (atau halaman web, yang bermaksud perkara yang sama) memerlukan struktur tertentu agar sah.

Mengapa kami mengambil berat tentang pengesahan dokumen HTML?

  • Ketepatan: Dokumen yang sah dipaparkan dengan betul dalam penyemak imbas.
  • Penyahpepijatan: Kod HTML yang buruk boleh menyebabkan ralat yang sukar dikesan.
  • Kebolehselenggaraan: Dokumen yang sah lebih mudah dikemas kini kemudian, walaupun untuk orang lain.
Doctype

Maklumat pertama yang kami tulis ialah menaip Dokumen HTML - doctype.

Fikirkan doctype sebagai versi kereta selama bertahun-tahun: Ford Fiesta yang anda beli pada tahun 1986 ialah Fiesta 2. Jika anda membeli satu hari ini, ia adalah Fiesta 7.

Sebelum ini, beberapa versi HTML wujud bersama (XHTML dan HTML 4.01 adalah piawaian yang bersaing). Pada masa ini, HTML5 adalah perkara biasa.

Untuk memberitahu penyemak imbas bahawa dokumen HTML ialah HTML5, hanya mulakan dokumen anda dengan baris berikut:

Itu sahaja. Hanya memasang dan melupakannya.

Anda mungkin tertanya-tanya mengapa doctype HTML5 ini tidak menyebut nombor 5. W3C berpendapat bahawa definisi doctype sebelumnya terlalu mengelirukan dan mengambil peluang untuk memudahkannya dengan mengalih keluar sebutan versi HTML.

unsur

Selain daripada baris doctype, keseluruhan dokumen HTML anda harus terletak di dalam elemen:

secara teknikal adalah nenek moyang semua elemen HTML.

Bagaimana atribut dibawa maklumat tambahan untuk elemen HTML, elemen itu juga membawa maklumat tambahan untuk keseluruhan halaman web.

Sebagai contoh, tajuk halaman (dipaparkan dalam tab) adalah dalam:

Blog saya yang hebat

Elemen HTML berikut boleh muncul dalam dan hanya dalam:

Walaupun ia mengandungi hanya metadata, tidak bertujuan untuk dipaparkan sama sekali (kecuali untuk ), elemen adalah tempat kami menulis semua kandungan kami. Segala-galanya di dalam akan dipaparkan dalam tetingkap penyemak imbas.

Dokumen HTML yang sah sepenuhnya

Dengan menggabungkan semua keperluan ini, kami boleh menulis dokumen HTML yang mudah dan sah:

Lembaran Markah

Hello Dunia!

Jika anda melihat contoh ini dalam penyemak imbas, anda akan melihat bahawa:

  • "MarkSheet" ditulis pada tab penyemak imbas;
  • "Hello Dunia!" ialah satu-satunya teks yang dipaparkan dalam tetingkap kerana ia adalah satu-satunya kandungan.

W3C menawarkan Perkhidmatan Pengesahan Penanda untuk menyemak sebarang dokumen HTML untuk ralat dan amaran.

Menyemak kesahihan kod HTML tapak semestinya disertakan dalam . Tetapi tidak perlu menilai terlalu tinggi kepentingan ralat pengesahan pada promosi SEO - ia adalah sangat kecil. Untuk mana-mana topik di TOP akan ada tapak dengan sejumlah besar ralat sedemikian dan ia berfungsi dengan baik.

TAPI! Ketiadaan kesilapan teknikal di tapak adalah faktor kedudukan, dan oleh itu peluang ini tidak boleh diabaikan. Adalah lebih baik untuk memperbaikinya, ia pasti tidak akan menjadi lebih teruk. Enjin carian akan melihat usaha anda dan memberi anda sedikit tambahan dalam karma anda.

Bagaimana untuk menyemak tapak untuk kesahihan kod HTML

Pengesahan kod tapak disemak menggunakan perkhidmatan dalam talian Pengesah HTML W3C. Jika terdapat ralat, perkhidmatan memberikan anda senarai. Sekarang saya akan menganalisis jenis ralat yang paling biasa yang saya temui di tapak.

  • Ralat: ID Pendua min_value_62222

Dan di sebalik kesilapan ini ada amaran.

  • Amaran: Kejadian pertama ID min_value_62222 adalah di sini

Ini bermakna ID pengecam gaya diduplikasi, yang mengikut peraturan kesahihan html, mestilah unik. Daripada ID, anda boleh menggunakan CLASS untuk objek pendua.

Membetulkan ini adalah wajar, tetapi tidak begitu kritikal. Sekiranya terdapat banyak kesilapan sedemikian, maka lebih baik untuk membetulkannya.

Begitu juga, mungkin terdapat pilihan lain:

  • Ralat: Duplikat ID tempatWorkTimes
  • Ralat: Duplikat ID callbackCss-css
  • Ralat: ID Pendua Capa_1

Berikut adalah amaran yang sangat biasa.

  • Amaran: Atribut jenis tidak diperlukan untuk sumber JavaScript

Ini adalah kesilapan yang sangat biasa semasa menyemak pengesahan tapak web. Menurut peraturan HTML5, atribut jenis tidak diperlukan untuk teg skrip; ia adalah elemen yang tidak digunakan.

Amaran serupa untuk gaya:

  • Amaran: Atribut jenis untuk elemen gaya tidak diperlukan dan harus ditinggalkan

Membetulkan amaran ini adalah wajar, tetapi tidak kritikal. Pada kuantiti yang banyak lebih baik betulkan.

  • Amaran: Pertimbangkan untuk mengelakkan nilai viewport yang menghalang pengguna daripada mengubah saiz dokumen

Amaran ini menunjukkan bahawa anda tidak boleh meningkatkan saiz halaman pada mudah alih atau tablet. Iaitu, pengguna ingin melihat lebih dekat pada gambar atau teks yang sangat kecil dan tidak boleh melakukan ini.

Saya menganggap amaran ini sangat tidak diingini, ia menyusahkan pengguna, dan ia adalah tolak tingkah laku. Dihapuskan dengan mengalih keluar elemen ini - skala maksimum=1.0 dan boleh skala pengguna=tidak.

  • Ralat: Atribut itemprop telah ditentukan, tetapi elemen itu bukan sifat bagi mana-mana item

Ini adalah penanda mikro, atribut itemprop mesti berada di dalam elemen dengan itemscope. Saya fikir ralat ini tidak kritikal dan boleh dibiarkan begitu sahaja.

  • Amaran: Dokumen tidak boleh menggunakan about:legacy-compat, kecuali jika dijana oleh sistem warisan yang tidak dapat mengeluarkan jenis dokumen standard

Baris about:legacy-compat hanya diperlukan untuk penjana html. Di sini anda hanya perlu melakukannya, tetapi ralatnya sama sekali tidak kritikal.

  • Ralat: Sumber tag hujung sesat

Jika anda melihat dalam kod tapak itu sendiri dan mencari elemen ini, anda boleh melihat bahawa satu teg ditulis sebagai pasangan - ini tidak betul.

Sehubungan itu, anda perlu mengalih keluar tag penutup daripada kod. Sama seperti ralat ini, teg mungkin berlaku

  • Ralat: Elemen img mesti mempunyai atribut alt, kecuali dalam keadaan tertentu. Untuk butiran, rujuk panduan tentang menyediakan alternatif teks untuk imej

Semua imej mesti mempunyai atribut alt, saya menganggap ralat ini kritikal dan perlu diperbaiki.

  • Ralat: Elemen tidak dibenarkan sebagai anak kepada elemen ul dalam konteks ini. (Mencegah ralat lanjut daripada subpokok ini.)

Sarang tag tidak betul di sini. DALAM

    sepatutnya ada sahaja
  • . Dalam contoh ini, elemen ini tidak diperlukan sama sekali.

    Begitu juga, mungkin terdapat ralat lain seperti ini:

    • Unsur h2 tidak dibenarkan sebagai anak unsur ul dalam konteks ini.
    • Unsur a tidak dibenarkan sebagai anak unsur ul dalam konteks ini.
    • Unsur noindex tidak dibenarkan sebagai anak kepada elemen li dalam konteks ini.
    • Elemen div tidak dibenarkan sebagai anak kepada elemen ul dalam konteks ini.

    Ini semua perlu diperbetulkan.

    • Ralat: Atribut http-equiv tidak dibenarkan pada meta elemen pada ketika ini

    Atribut http-equiv tidak dimaksudkan untuk elemen meta, ia perlu dialih keluar atau diganti.

    Ralat serupa:

    • Ralat: Atribut n2-peti cahaya tidak dibenarkan pada elemen a pada ketika ini.
    • Ralat: Atribut asyncsrc tidak dibenarkan pada skrip elemen pada ketika ini.
    • Ralat: Harga atribut tidak dibenarkan pada pilihan elemen pada ketika ini.
    • Ralat: Rentetan cincang atribut tidak dibenarkan pada rentang elemen pada ketika ini.

    Di sini anda juga perlu sama ada mengalih keluar atribut n2-lightbox, asyncsrc, price, hashstring atau menggantikannya dengan pilihan lain.

    • Ralat: Teg permulaan buruk dalam img di kepala

    Atau seperti ini:

    • Ralat: Teg permulaan buruk dalam div di kepala

    Teg img dan div tidak sepatutnya berada dalam . Ralat ini perlu diperbetulkan.

    • Ralat: CSS: Ralat Parse

    DALAM dalam kes ini Tidak boleh ada koma bertitik selepas kurungan dalam gaya.

    Nah, kesilapan seperti itu, remeh, tetapi tidak menyenangkan) Lihat sendiri sama ada ia perlu dikeluarkan atau tidak, ia tidak akan memberi kesan kepada promosi tapak.

    • Amaran: Atribut charset pada elemen skrip sudah usang

    Tiada lagi keperluan untuk menentukan pengekodan dalam skrip; ini adalah elemen usang. Amaran itu tidak kritikal, mengikut budi bicara anda.

    • Ralat: Skrip elemen mesti tidak mempunyai set charset melainkan atribut src juga ditentukan

    Dalam ralat ini, anda perlu mengalih keluar atribut charset="uft-8" daripada skrip, kerana ia menunjukkan pengekodan di luar skrip. Saya rasa kesilapan ini perlu diperbetulkan.

    • Amaran: Tajuk kosong

    Berikut ialah pengepala h1 kosong. Anda perlu mengalih keluar tag atau meletakkan tajuk di antaranya. Kesilapan adalah kritikal.

    • Ralat: Teg tamat br

    Tag br adalah tunggal, tetapi dibuat seolah-olah ia menutup sepasang. Kita perlu mengalih keluar / daripada tag.

    • Ralat: Rujukan aksara bernama tidak ditamatkan oleh koma bertitik. (Atau & sepatutnya telah melarikan diri sebagai &.)

    Ini ialah aksara HTML khas, anda perlu menulisnya dengan betul atau &salin. Lebih baik perbaiki kesilapan ini.

    • Ralat Maut: Tidak dapat pulih selepas ralat terakhir. Sebarang ralat lanjut akan diabaikan

    Ini adalah ralat yang serius:

    Tidak sepatutnya ada apa-apa selepas itu, kerana ini adalah teg penutup halaman yang terakhir. Anda perlu memadamkan semuanya selepas itu atau mengalihkannya lebih tinggi.

    • Ralat: CSS: kanan: hanya 0 boleh menjadi satu unit. Anda mesti meletakkan unit selepas nombor anda

    Anda perlu menulis nilai dalam px:

    Berikut ialah ralat yang serupa:

    • Ralat: CSS: margin-top: hanya 0 boleh menjadi satu unit. Anda mesti meletakkan unit selepas nombor anda
    • Ralat: Elemen tidak tertutup a

    Melakukan beberapa semakan kod anda. Yang utama:

  • Pengesahan sintaks - menyemak ralat sintaks.
  • adalah sintaks yang sah walaupun ia bukan teg HTML yang sah, jadi semakan sintaks sangat berguna untuk menulis HTML yang baik.
  • Menyemak sarang tag - tag mesti ditutup dalam susunan terbalik berbanding pembukaannya. Sebagai contoh, semakan ini menangkap ralat dengan .
  • Pengesahan DTD - menyemak sama ada kod anda sepadan dengan Definisi Jenis Dokumen yang ditentukan. Ini termasuk menyemak nama teg, atribut dan teg "pembenaman" (teg satu jenis di dalam teg jenis lain)
  • Perlu diingat bahawa ini adalah semakan logik, dan tidak kira bagaimana pengesah dilaksanakan. Jika sekurang-kurangnya satu daripada semakan gagal, maka HTML dianggap tidak sah. Dan di situlah letak masalahnya Argumen Hujah utama untuk pengesahan HTML ialah keserasian silang pelayar. Setiap penyemak imbas mempunyai penghurai sendiri, dan memberinya perkara yang difahami oleh semua penyemak imbas adalah satu-satunya cara untuk memastikan kod anda akan berfungsi dengan betul dalam semua penyemak imbas. Memandangkan setiap penyemak imbas mempunyai mekanisme pembetulan ralat HTML sendiri, anda tidak boleh bergantung pada kod yang tidak sah.

    Hujah utama menentang pengesahan ialah ia terlalu ketat dan tidak sepadan dengan cara pelayar sebenarnya berfungsi. Ya, HTML boleh menjadi tidak sah, tetapi semua penyemak imbas boleh merawat beberapa kod tidak sah dengan cara yang sama. Jika saya bersedia bertanggungjawab untuk kod buruk yang saya tulis, maka saya tidak perlu risau untuk menyemak. Satu-satunya perkara yang saya perlu risau ialah ia berfungsi.

    Kedudukan Saya Ini adalah salah satu daripada beberapa kali saya bercakap secara terbuka tentang pendirian saya tentang sesuatu. Saya sentiasa menjadi antara penentang pengesahan, berdasarkan fakta bahawa pengesah terlalu ketat untuk menjadi praktikal dalam aplikasi dunia sebenar. Terdapat perkara yang disokong oleh kebanyakan penyemak imbas (dalam, selepas) yang tidak sah, tetapi kadangkala sangat diperlukan untuk operasi yang betul.

    Secara umum, masalah pengesahan terbesar saya ialah menyemak #4 (untuk elemen luar). Saya penyokong menggunakan atribut tersuai dalam teg HTML untuk menyimpan data meta tambahan yang berkaitan dengan elemen tertentu. Dalam pemahaman saya, ini adalah, sebagai contoh, menambah atribut foo apabila saya mempunyai data (bar) yang perlu saya kaitkan dengan elemen tertentu. Kadangkala orang melebihkan atribut sedia ada untuk tujuan ini hanya untuk lulus pengesahan, walaupun atribut itu akan digunakan untuk tujuan lain. Ia tidak masuk akal untuk saya.

    Rahsia pelayar ialah mereka tidak pernah menyemak sama ada kod HTML sepadan dengan DTD yang ditentukan. Doctype yang anda tentukan dalam dokumen menukar penghurai penyemak imbas kepada mod tertentu, tetapi ini tidak memuatkan doctype dan menyemak kod untuk pematuhan dengannya. Iaitu, penghurai penyemak imbas memproses HTML dengan beberapa andaian tidak sah, seperti teg penutup sendiri dan elemen blok di dalam elemen sebaris (saya pasti ada yang lain).

    Dalam kes atribut tersuai, semua penyemak imbas menghuraikan dan mengenali atribut yang betul secara sintaksis sebagai sah. Ini memungkinkan untuk mengakses atribut tersebut melalui DOM menggunakan Javascript. Jadi mengapa saya perlu bimbang tentang kesahihan? Saya akan terus menggunakan atribut saya dan saya sangat gembira kerana HTML5 memformalkannya.

    Contoh terbaik teknologi yang menghasilkan HTML tidak sah tetapi membuat perbezaan yang besar ialah ARIA. ARIA berfungsi dengan menambahkan atribut baharu pada HTML 4. Atribut ini memberikan makna semantik tambahan kepada elemen HTML dan penyemak imbas dapat menyampaikan semantik ini kepada peranti bantuan untuk membantu orang kurang upaya. Semua penyemak imbas utama kini menyokong penanda ARIA. Walau bagaimanapun, jika anda menggunakan atribut ini, anda akan mempunyai HTML yang tidak sah.

    Bagi teg tersuai, saya rasa tidak ada yang salah dengan menambahkan teg baharu yang betul secara sintaksis pada halaman, tetapi saya tidak nampak banyak nilai praktikal di dalamnya.

    Untuk menjelaskan kedudukan saya: Saya percaya bahawa semakan #1 dan #2 adalah sangat penting dan harus sentiasa dilakukan. Saya juga menganggap semakan #3 penting, tetapi tidak sepenting dua yang pertama. Semakan #4 sangat meragukan saya kerana ia mempengaruhi atribut tersuai. Saya percaya bahawa, secara maksimum, atribut tersuai harus ditandakan sebagai amaran (bukan ralat) dalam hasil pengesahan supaya saya boleh menyemak sama ada saya memasukkan nama atribut dengan salah. Membenderakan teg tersuai sebagai ralat adalah mungkin idea yang bagus, tetapi juga mempunyai beberapa masalah, contohnya, apabila membenamkan kandungan dalam penanda lain - SVG atau MathML.

    Pengesahan demi pengesahan? Saya fikir bahawa pengesahan demi pengesahan adalah sangat bodoh. HTML yang sah hanya bermakna semua 4 semakan lulus tanpa ralat. Terdapat beberapa perkara penting yang tidak dijamin oleh HTML yang sah:
    • HTML yang sah tidak menjamin kebolehaksesan;
    • HTML yang sah tidak menjamin UX yang baik (pengalaman pengguna);
    • HTML yang sah tidak menjamin tapak web yang berfungsi;
    • HTML yang sah tidak menjamin paparan tapak yang betul.
    HTML yang sah boleh menjadi sesuatu yang boleh dibanggakan, tetapi itu sendiri bukanlah penunjuk kemahiran. Kod sah anda tidak selalunya berprestasi lebih baik daripada kod tidak sah saya Pengesahan HTML5 membetulkan beberapa masalah yang berkaitan dengan pengesahan HTML 4 dengan jelas membenarkan atribut tersuai (ia mesti bermula dengan data-). Ini akan membolehkan kod saya lulus semakan pengesahan HTML5. Sudah tentu, terdapat beberapa perkara tentang pengesah HTML5 yang saya tidak bersetuju, tetapi saya percaya bahawa ia memenuhi keperluan praktikal yang jauh lebih baik daripada pengesah HTML 4 Kesimpulan Saya percaya bahawa beberapa bahagian pengesahan HTML adalah sangat penting dan berguna. tetapi saya tidak mahu menjadi tebusan kerana saya menggunakan sifat saya. Saya berbangga kerana saya menggunakan ARIA dalam kerja saya dan saya tidak kisah jika ia dianggap kod tidak sah. Sekali lagi, daripada empat semakan pengesah, saya hanya menghadapi masalah dengan satu. Dan pengesah HTML5 akan menyelamatkan saya daripada kebanyakan masalah ini.

    Saya tahu ini adalah topik kontroversi bagi ramai orang, jadi sila elakkan daripada kenyataan emosi semata-mata dalam komen.

    UPD: terima kasih atas karma, saya mengalihkannya ke tematik. Saya akan mengulangi kata-kata pengarang: Saya faham bahawa ini adalah topik yang kontroversi, tetapi tolong elakkan daripada komen emosi semata-mata dan berikan hujah.

    Akhir-akhir ini saya telah menerima beberapa soalan daripada pengguna mengenai kesahihan tema saya dan pengesahan secara umum. Dalam entri ini saya ingin menjawab mereka.

    Apakah kesahan?


    Adalah dipercayai bahawa kesahan kod adalah satu ciri universal bagi mana-mana kod.
    Malah, kesahihan ialah pematuhan kod html dokumen dengan set peraturan tertentu yang dinyatakan dalam doctype atau tersirat dalam HTML5.
    Iaitu, kesahan adalah konsep relatif, kerana peraturannya berbeza, dan begitu juga keperluannya.
    Untuk menjadikannya lebih jelas, saya akan memberikan contoh yang saya temui di tapak web css-live.ru:

    Ke arah pembinaan bangunan kediaman dan loji tenaga nuklear, SNiP berbeza digunakan ( kod bangunan dan peraturan), jadi dokumen yang sah mengikut satu set peraturan mungkin tidak sah mengikut yang lain (loji tenaga nuklear yang dibina mengikut piawaian bangunan kediaman adalah bagus!).

    Jenis doc biasanya menunjukkan dokumen yang terhadapnya pengesahan html dirancang, tetapi boleh dipilih atas sebab pragmatik untuk memilih mod penyemak imbas yang optimum.
    XHTML5 mungkin tidak mempunyai doctype sama sekali, tetapi masih sah.

    Pengesahan - apakah itu?

    Dengan kata mudah, pengesahan ialah proses menyemak kod dan menjadikannya menepati doctype (DTD) yang dipilih.

    Bagaimanakah kesahihan disemak?

    Kesahihan kod HTML disemak oleh alat yang dipanggil validator.
    Pengesah w3c yang paling terkenal ialah https://www.w3.org.
    Pengesah w3c melakukan beberapa semakan kod.
    Yang utama:

  • Menyemak ralat sintaks:
    Contoh daripada habrahabr.ru/post/101985:
    adalah sintaks yang sah walaupun ia adalah teg HTML yang tidak sah
    Oleh itu, semakan sintaks sangat berguna untuk menulis kod HTML yang baik.
  • Menyemak sarang tag:
    Dalam dokumen HTML, teg mesti ditutup mengikut urutan terbalik pembukaannya. Semakan ini mengenal pasti tag yang tidak ditutup atau ditutup dengan tidak betul.
  • Pengesahan html mengikut DTD:
    Menyemak sejauh mana kod sepadan dengan DTD yang ditentukan - Definisi Jenis Dokumen (doctype). Ini termasuk menyemak nama teg, atribut dan sebaris teg (teg satu jenis di dalam teg jenis lain).
  • Memeriksa unsur asing:
    Ia akan mengesan apa-apa yang ada dalam kod tetapi tidak dalam doctype.
    Contohnya, teg dan atribut tersuai.
  • Untuk menyemak kesahihan kod CSS, terdapat pengesah css - http://jigsaw.w3.org/css-validator.
    Kesahihan kod adalah hasil semakan mekanikal untuk ketiadaan OB rasmi, mengikut set peraturan yang ditetapkan.
    Anda perlu memahami bahawa pengesahan ialah alat, bukan nilai itu sendiri.
    Pengekod yang berpengalaman biasanya tahu di mana peraturan pengesahan HTML atau CSS boleh dilanggar dan di mana tidak, dan apakah akibat (atau tidak) daripada ralat pengesahan ini atau itu.
    Contoh apabila tapak web menghasilkan kod tidak sah:

    • lebih mudah dan lebih pantas - atribut tersuai untuk Javascrip/AJAX atau
    • SEO dioptimumkan - markup ARIA.

    Jelas bahawa tidak ada gunanya kesahihan demi kesahihan.
    Sebagai peraturan, pereka susun atur yang berpengalaman mematuhi peraturan berikut:
    - Seharusnya tiada ralat besar dalam kod.
    - Yang kecil boleh diterima, tetapi hanya untuk alasan yang wajar.
    Mengenai kebolehterimaan ralat pengesahan html/CSS:

    Ralat pengesahan (VE) boleh dibahagikan kepada kumpulan:
    • OB dalam fail templat:
      Mereka tidak sukar untuk dicari dan diperbaiki.
      Jika beberapa ralat kecil membantu menjadikan tapak lebih berfungsi atau lebih pantas, anda boleh meninggalkannya.
    • OB dalam skrip pihak ketiga yang disambungkan ke tapak:
      Contohnya, widget VKontakte, skrip Twitter atau fail video daripada YouTube.
      Tiada cara untuk membetulkannya, kerana fail dan skrip ini terletak di tapak lain dan kami tidak mempunyai akses kepadanya.
    • Peraturan CSS yang tidak difahami oleh pengesah:
      Pengesah menyemak bahawa kod tapak sepadan dengan versi HTML atau CSS tertentu.
      Jika anda menggunakan peraturan CSS versi 3 dalam templat anda dan pengesah menyemak pematuhan versi 2.1, maka ia akan menganggap semua peraturan CSS3 sebagai ralat, walaupun tidak.
    • OB yang semestinya perlu ditinggalkan di tapak untuk mendapatkan hasil yang diinginkan. Contohnya:
      • tag noindex. Mereka tidak sah, tetapi ia sangat diperlukan dan anda perlu bersabar dengannya.
      • khaki. Untuk membolehkan tapak dipaparkan dengan betul dalam sesetengah penyemak imbas, kadangkala anda perlu menggunakan penggodaman - kod yang hanya difahami oleh pelayar tertentu.
    • Kesilapan pengesah itu sendiri.
      Selalunya dia tidak melihat beberapa tag (contohnya, yang menutup) dan melaporkan tentang OB yang tiada.

    Ternyata tapak yang berfungsi hampir selalu mempunyai beberapa jenis OV.
    Lebih-lebih lagi, terdapat banyak daripada mereka.
    Sebagai contoh, halaman utama Google, Yandex dan mail.ru masing-masing mengandungi beberapa dozen ralat.
    Tetapi, mereka tidak memecahkan paparan tapak dalam pelayar dan tidak menghalangnya daripada berfungsi.
    Semua yang ditulis di atas digunakan untuk topik saya.

    DALAM topik yang sukar terdapat:
    • Fungsi WordPress (contohnya the_category()) yang menghasilkan kod tidak sah.
    • Mengeluarkan video daripada tapak pengehosan video, contohnya, daripada YouTube, dan terdapat banyak OV dalam kod YouTube yang anda dan saya tidak boleh mempengaruhi.
    • Butang rangkaian sosial, yang disambungkan menggunakan skrip rangkaian ini dan mengandungi OV.
    • Peraturan CSS3 dan HTML5 yang dianggap ralat oleh pengesah warisan.
      Pada masa yang sama, pengesah versi CSS3 dan HTML5 menganggap peraturan lama sebagai ralat :).
    • Kadangkala, untuk mencapai paparan yang betul dalam pelayar Internet Explorer atau versi lama pelayar lain, anda perlu menggunakan apa yang dipanggil hacks - kod yang hanya difahami oleh penyemak imbas tertentu untuk menulis peraturan untuk memaparkan tapak khusus untuk penyemak imbas ini.

    Akibatnya, anda boleh mendapatkan kod yang sah sepenuhnya hanya dengan pengekodan sangat tema mudah, iaitu yang mengandungi jumlah minimum fungsi.
    Selepas menyelesaikan susun atur mana-mana tema saya, saya sentiasa menyemaknya dengan pengesah dan membetulkan semua ralat yang boleh diperbetulkan tanpa kehilangan fungsi tema.
    Iaitu, jika terdapat pilihan antara fungsi berfungsi dan kesahihan, saya memilih fungsi.
    Jika anda mencipta tema anda sendiri, saya menasihati anda untuk melakukan perkara yang sama.
    Dari sudut pandangan saya (dan juga dari sudut pandangan kebanyakan pereka susun atur), menganggap pengesahan html/CSS sebagai kebenaran muktamad adalah salah. Adalah wajib untuk membetulkan hanya ejen yang:
    - menghalang penyemak imbas daripada memaparkan halaman dengan betul (teg tidak ditutup dan bersarang secara salah).
    - memperlahankan pemuatan halaman (skrip tidak disambungkan dengan betul).
    - boleh dibetulkan tanpa mengganggu kefungsian tema.
    Saya harap saya menjawab semua soalan tentang pengesahan.

    Saya rasa semua orang yang berminat untuk membangunkan dan mempromosikan tapak web, dalam satu cara atau yang lain, menghadapi konsep kesahan kod. Frasa ini membayangkan menulis kod HTML tapak mengikut piawaian tertentu yang dibangunkan oleh World Wide Web Consortium (W3C). Pematuhan peraturan yang ditetapkan oleh piawaian ini adalah jaminan keserasian silang pelayar, iaitu paparan yang betul bagi halaman yang dibuat dalam semua penyemak imbas, serta ketiadaan ralat yang mempengaruhi kelajuan pemuatan dan parameter lain.

    DALAM Internet moden kriteria kualiti susun atur tapak web telah mula memainkan peranan penting, kerana kini juruweb perlu mencapai paparan sumber yang betul bukan sahaja pada PC desktop dan komputer riba, tetapi juga pada banyak peranti mudah alih dengan pelbagai resolusi.

    Seberapa bersih dan berstruktur kod yang dibuat oleh pembangun boleh dikesan dengan menyemak tapak untuk kesahihan, yang dijalankan melalui penyemak khas pada sumber rasmi daripada W3C. Berikut ialah pengesah kod HTML dalam talian yang tersedia secara percuma, terletak di validator.w3.org


    Dengan bantuannya, anda boleh menyemak kesahihan kod HTML dalam tiga cara:

    • Sahkan melalui URI - pengesahan mengikut alamat
    • Sahkan melalui Muat Naik Fail - analisis fail yang dimuat naik
    • Sahkan melalui Input Langsung - menyemak sekeping kod tertentu.

    Pilihan kaedah yang diperlukan dijalankan dengan beralih ke tab yang sesuai:

    Mari lihat apa yang berlaku jika kita menyemak kesahihan beberapa tapak terkenal di Runet, contohnya Habrahabr. Tampalkannya ke dalam medan analisis dan klik butang "Semak". Selepas beberapa saat, pengesah W3C akan memberikan kami hasil berikut:

    Hasil yang agak baik, kerana menyemak kebanyakan sumber akan menghasilkan berpuluh-puluh malah ratusan ralat.

    Jika anda menatal ke bawah sedikit halaman, anda boleh melihat dengan tepat di mana penyemak menemui ralat dan penerangannya, menunjukkan garisan. Di samping itu, ia menerangkan secara terperinci apa sebenarnya masalahnya, yang menjadikannya mudah untuk membetulkannya.

    Walau apa pun, jika ralat ditemui di tapak anda, jangan kecewa, kerana pertama sekali, sebenarnya terdapat sangat sedikit laman web yang akan mematuhi sepenuhnya standard W3C, dan kedua, semua ralat yang ditemui oleh pengesah HTML -kod boleh diperbetulkan.

    Menyemak tapak untuk kesahihan kod HTMLnya membolehkan anda memahami sama ada ia memerlukan pembetulan dan pengoptimuman reka letak, kerana kebersihan dan struktur kod yang betul merupakan komponen penting pengoptimuman dalaman. Reka letak semantik berkualiti tinggi membolehkan kontraktor lain memahami kod orang lain dengan cepat, serta meningkatkan perkaitan teks dan mempercepatkan pemuatan halaman.

    Banyak artikel telah ditulis mengenai kesesuaian dan keperluan mencari ralat pengesahan, dan di atas kami telah menulis kelebihan utama yang boleh diperolehi dengan menyesuaikan kod tapak anda mengikut piawaian W3C. Selain itu, langkah sedemikian akan sama berguna dalam kes portal atau perkhidmatan yang besar, dan berkaitan dengan blog kecil atau tapak web kad perniagaan.