อะไรคือข้อดีและข้อเสีย (ถ้ามี) ของการทำให้แน่ใจว่าทุกหน้าตรวจสอบความถูกต้องเมื่อเทียบกับการมี HTML ที่ไม่ถูกต้องซึ่งใช้งานได้กับเบราว์เซอร์หลักทั้งหมด?
นอกจากนี้การมี HTML ที่ถูกต้องหลังจากใช้งาน Javascript สำคัญหรือไม่
อะไรคือข้อดีและข้อเสีย (ถ้ามี) ของการทำให้แน่ใจว่าทุกหน้าตรวจสอบความถูกต้องเมื่อเทียบกับการมี HTML ที่ไม่ถูกต้องซึ่งใช้งานได้กับเบราว์เซอร์หลักทั้งหมด?
นอกจากนี้การมี HTML ที่ถูกต้องหลังจากใช้งาน Javascript สำคัญหรือไม่
คำตอบ:
ฉันคิดว่ามันคุ้มค่าที่จะทำแต่คุณไม่ควรเป็นทาสของการตรวจสอบ - เป็นเกมของคนโง่
http://www.codinghorror.com/blog/2009/03/html-validation-does-it-matter.html
ตรวจสอบ HTML ของคุณ รู้ว่าการมีมาร์กอัพ HTML ที่ถูกต้องหมายความว่าอะไร ทำความเข้าใจกับเครื่องมือ ข้อมูลเพิ่มเติมดีกว่าข้อมูลน้อยกว่าเสมอ ทำไมบินตาบอด?
ไม่มีใครสนใจว่า HTML ของคุณถูกต้องหรือไม่ ยกเว้นคุณ. ถ้าคุณต้องการ. อย่าคิดว่าการสร้าง HTML ที่ถูกต้องสมบูรณ์แบบนั้นสำคัญกว่าการใช้งานเว็บไซต์ของคุณส่งมอบฟีเจอร์ที่ทำให้ผู้ใช้ของคุณพอใจหรือทำงานให้เสร็จ
ฉันพิจารณาว่า HTML เป็นเป้าหมายที่คุ้มค่า แต่ไม่เห็นว่าเป็นสิ่งที่ถูกและไม่สิ้นสุดในการสร้างเว็บไซต์ที่ดี
เคล็ดลับคือมาร์กอัปของคุณอาจใช้ได้อย่างสมบูรณ์แบบ แต่อาจไม่ได้มีความหมายเช่นการใช้ตารางสำหรับการจัดวางหรือการนำทาง มีความแตกต่างระหว่างรหัสที่ถูกต้องและรหัสความหมาย
ในบันทึกอื่นถ้าคุณใช้โฆษณาหรือสคริปต์ภายนอกพวกเขาอาจแทรกมาร์กอัปของตัวเองซึ่งมีโอกาสที่จะยุ่งกับตัวคุณเอง
ฉันคิดว่ามันคุ้มค่าเพราะฉันพบข้อผิดพลาดของมาร์กอัปและตรรกะโดยการตรวจสอบความถูกต้อง เป็นหนึ่งในสิ่งที่ "จำเป็น แต่ไม่เพียงพอ" มาร์กอัปที่ถูกต้องเช่นรหัสที่รวบรวม (หรือตรวจสอบผ่าน JSlint) โดยปราศจากข้อผิดพลาดคำเตือนและคำแนะนำเป็นขั้นตอนแรกที่ดีในการทำให้ถูกต้อง
ข้อดีอีกอย่างของ HTML ที่ถูกต้องก็คือหน้าของคุณจะเข้าถึงสิ่งอื่น ๆ ได้มากกว่า "เบราว์เซอร์หลัก" "เบราว์เซอร์หลัก" ทั้งหมดมีวิธีแก้ไขปัญหาอย่างไม่สิ้นสุดเพื่อจัดการกับขยะที่ไม่ถูกต้องซึ่งเติม WWW อย่างไรก็ตามการเกาะติดกับ HTML ที่ถูกต้องช่วยยกตัวอย่างเช่นหากมีใครบางคนกำลังใช้เบราว์เซอร์สำหรับผู้พิการทางสายตาหรือเข้าถึงหน้าเว็บของคุณแบบออฟไลน์เป็นต้น
การตรวจสอบด้วยตนเองนั้นไม่สำคัญนักเนื่องจากเบราว์เซอร์บางตัวมีความสอดคล้อง 100% และข้อกำหนดไม่ชัดเจน 100% สำหรับวิธีการตีความกฎ
อย่างไรก็ตามการใช้ HTML ที่ถูกต้องจะทำให้คุณอยู่ในตำแหน่งที่ดีขึ้นในการปรับและปรับปรุงเว็บไซต์ของคุณ ในขณะที่มาตรฐานเคลื่อนย้ายพวกเขาจะโยกย้ายไปข้างหน้าและหากไซต์ใหม่ของคุณถูกต้องการอัปเดตเพื่อรองรับสิ่งล่าสุดควรง่ายขึ้น
ก้นถูกต้องทำให้ง่ายขึ้นที่จะอยู่ด้านบนของเกมและเข้ากันได้กับผู้ชมที่กว้างที่สุด
วิธีที่ดีที่สุดคือการเรียนรู้ว่า HTML ที่ไม่ถูกต้องใดที่ไม่ดีและ HTML ที่ไม่ถูกต้องนั้นไม่สำคัญ
ตัวอย่างเช่นการลืมปิด<div>
แท็กนั้นไม่ดีนักเนื่องจากเลย์เอาต์ของคุณเกือบจะปะทุในเบราว์เซอร์อย่างน้อยหนึ่งเบราว์เซอร์
อย่างไรก็ตามการใช้<br>
แทน<br />
XHTML นั้นไม่สำคัญ - เบราว์เซอร์ทั้งหมดจะตีความว่าเป็นการแบ่งบรรทัดโดยไม่มีปัญหา การใช้target
แอตทริบิวต์บนลิงก์ไม่ถูกต้อง แต่สถานการณ์กรณีที่เลวร้ายที่สุดคือเบราว์เซอร์ไม่เปิดลิงก์ในหน้าต่างใหม่
target
ถูกต้องใน XTML การนำส่งและมีเพียงผู้ชำนาญในการใช้เท่านั้น การข้ามเครื่องหมายสแลชปิดจะทำให้ XML ของหน้าไม่ถูกต้องซึ่งอาจสร้างความสับสนให้กับหน้าจอ หากคุณเลือกที่จะใช้ XHTML หน้าของคุณควรเป็น XML ที่ถูกต้องอย่างน้อยที่สุด
เมื่อรันตัวตรวจสอบความถูกต้องคุณจะต้องตรวจสอบข้อผิดพลาดที่ให้ไว้เป็นกรณี ๆ ไป การตรวจสอบเป็นสิ่งสำคัญหรือไม่ สำหรับฉันใช่มันสำคัญมาก แต่มันเป็นข้อกำหนดหรือไม่? เลขที่
สิ่งต่าง ๆ เช่นการใช้ ID เดียวกันหลาย ๆ ครั้ง (แทนที่จะเป็นคลาส) การวางองค์ประกอบระดับบล็อกไว้ในองค์ประกอบระดับอินไลน์ (โดยปกติองค์ประกอบเหล่านี้ไม่เหมาะสมกับวิธีนี้ในเชิงความหมาย) ขาดแอตทริบิวต์ alt บนภาพ (การเข้าถึงไม่ดีสำหรับผู้บกพร่อง) ) มีความสำคัญทั้งหมด สิ่งที่ต้องการแอตทริบิวต์ที่ไม่รู้จักในแท็กนั้นไม่สำคัญ เลย เฟรมเวิร์ก Javascript เช่น Dojo หรือแถบสื่อโซเชียล Meebo อันน่ากลัวใช้แอตทริบิวต์ที่กำหนดเองเป็น hooks และ HTML spec ระบุว่าอนุญาตสิ่งเหล่านี้และแอตทริบิวต์ใด ๆ ที่ไม่รู้จักจะถูกละเว้น ตัวตรวจสอบความถูกต้องไม่เพิกเฉยต่อมันแม้ว่าจะมีข้อผิดพลาดเกิดขึ้นก็ตาม ข้อผิดพลาดเหล่านี้สามารถถูกละเว้น
เมื่อตรวจสอบความถูกต้องอย่าคิดว่าหากคุณมีข้อผิดพลาดคุณทำผิด ซีแมนทิกส์มีความสำคัญมากกว่าและมันก็เกิดขึ้นว่า HTML ที่ถูกต้องนั้นเป็นผลที่เกิดขึ้นตามธรรมชาติของการมีความหมายที่ถูกต้อง
เหตุผลหนึ่งในการทดสอบเว็บไซต์ของคุณสำหรับ HTML ที่ถูกต้องคือช่วยให้มั่นใจได้ว่าสไปเดอร์ของเครื่องมือค้นหาจะสามารถจัดทำดัชนีและกำหนดความหมายของหน้าเว็บของคุณได้อย่างสมบูรณ์ หากพวกเขาไม่สามารถทำได้เนื่องจาก HTML ที่มีรูปแบบไม่ถูกต้อง (ซึ่งเบราว์เซอร์หลักอาจทำงานด้วยเหตุผลทางประวัติศาสตร์) คุณอาจ จำกัด การจัดอันดับของเครื่องมือค้นหาของคุณ
นอกจากนี้ยังมีการคาดเดาว่าในขณะที่เครื่องมือค้นหาสำคัญทำงานได้ดีในการจัดการกับ HTML ที่มีรูปแบบไม่ถูกต้องพวกเขายังอาจกำหนด "คะแนน" คุณภาพของหน้าเพื่อความถูกต้องอีกทั้งยังส่งผลต่อความสามารถใน
ฉันไม่คิดว่ามันจะสำคัญอีกต่อไปแล้ว ฉันเคยเป็นทาสในการตรวจสอบตอนนี้ฉันไม่ค่อยได้ตรวจสอบ บางทีฉันอาจถูกไฟไหม้จนทำให้เว็บไซต์ของฉันถูกต้องหรือบางทีฉันอาจจะไม่สนใจอีกต่อไปเพราะไม่มีใครจะทำ ฉันรับประกันได้ว่า 99.9% ของผู้เข้าชมของเราไม่ทราบว่ามันคืออะไรรวมถึงแม้ว่าพวกเขาจะสนใจ ซอฟต์แวร์เบราว์เซอร์ในอนาคตอาจ แต่เมื่อวันนั้นมาถึงฉันจะกังวลเกี่ยวกับมันแล้ว
การตรวจสอบมีประโยชน์เพราะจะช่วยให้คุณเห็นข้อผิดพลาดที่จับยากเช่น
<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />
หรือลักษณะการทำงานของเบราว์เซอร์ที่ไม่สามารถคาดเดาได้ (ตัวอย่างเช่นการวางองค์ประกอบของบล็อกในa
บางครั้งอาจแตกในรูปแบบที่น่าเกลียดใน Firefox)
จุดที่ไม่มีใครพูดถึงคือ HTML ที่ไม่ถูกต้องอาจทำให้เวลาในการเรนเดอร์ช้าลงขณะที่เบราว์เซอร์พยายามทำให้ HTML ที่ไม่ได้มาตรฐานนั้นแสดงผล
ไม่มีข้อเสียของการมี html ที่ถูกต้อง มีเหตุผลว่าทำไมมี spec ในตอนแรกและทำไมความพยายามมากมายจึงถูกใส่เข้าไปใน spec เพื่อกำหนดว่าสิ่งต่าง ๆ ควรทำงานอย่างไร
โดยพื้นฐานแล้วสิ่งที่คุณได้รับคือทำตามข้อกำหนด ซึ่งในทางกลับกันโปรแกรมที่เขียนเพื่ออ่าน html (เบราว์เซอร์บ็อต) ไม่สามารถตำหนิคุณได้หากไม่พบรายละเอียดหากมีสิ่งผิดปกติเกิดขึ้น และบางส่วนของโปรแกรมเหล่านี้ให้ extrapoints คุณ (การจัดอันดับที่สูงขึ้นในเครื่องมือค้นหาถ้ารายงานบอท "ตรงตามข้อกำหนด") หากคุณตรงตามข้อกำหนดคุณจะรู้สึกประหลาดใจน้อยลงหากเบราว์เซอร์บางตัวไม่ทำให้ HTML ที่เสียหายอย่างที่คุณคิด
ดังนั้นเพื่อให้ตรงตามข้อกำหนดและการเขียน html ที่ถูกต้องเป็นสิ่งที่ดีสำหรับคุณไม่มีข้อเสียเลย
ข้อผิดพลาดในการตรวจสอบ HTML บางอย่างอาจทำให้เกิดปัญหารูปแบบที่ไม่ชัดเจน (เช่นแท็กที่ซ้อนกัน / ไม่ถูกต้อง) ข้อผิดพลาด JavaScript (เช่นใช้id
มากกว่าหนึ่งครั้ง) และปัญหาสำหรับผู้ใช้บางคน (เช่นไม่รวมalt
แอตทริบิวต์ที่มีความหมายหรือเปล่า
หากหน้าทั้งหมดของเราตรวจสอบแล้วนั่นเป็นการตรวจสอบอัตโนมัติที่ดีที่คุณสามารถทำได้เพื่อแยกแยะแหล่งที่มาของข้อผิดพลาด หากคุณปล่อยให้ข้อผิดพลาดในการตรวจสอบเพราะคุณรู้ว่าพวกเขาไม่ได้ก่อให้เกิดอันตรายใด ๆ ตรวจสอบของคุณไม่ได้โดยอัตโนมัติอีกต่อไป: คุณต้องดูข้อผิดพลาดแต่ละครั้งและจำไว้ว่ามันไม่เป็นไร โดยส่วนตัวแล้วฉันชอบเมื่อคอมพิวเตอร์ลดปริมาณงานที่ฉันต้องทำแทนที่จะเพิ่มมัน
จุดหนึ่งที่ไม่มีใครพูดถึงคือการพัฒนาเบราว์เซอร์ในอนาคต แม้ว่าเบราว์เซอร์ทุกวันนี้จะจัดการกับมาร์กอัปที่ไม่ถูกต้องได้ค่อนข้างดี แต่ก็อาจไม่ได้เป็นเช่นนั้นเสมอไป
ผู้ผลิตเบราว์เซอร์ในอนาคตจะมั่นใจได้ว่าเบราว์เซอร์ของพวกเขาทำงานได้ตามมาตรฐาน HTML / XHTML ดังนั้นนี่คือสิ่งที่นักพัฒนาเว็บควรจะตีเช่นกัน เพียงเพราะมาร์กอัปที่ไม่ถูกต้องบางส่วนทำงานไม่ได้รับประกันว่ามันจะทำงานในเบราว์เซอร์ในอนาคต
<font>
แท็กหรือรหัสผ่านของมัน
ความถูกต้องจะช่วยให้คุณหลีกเลี่ยงความไม่ลงรอยกันและช่วยให้สามารถบำรุงรักษาโค้ดได้ เบราว์เซอร์กู้คืนจากข้อผิดพลาดมาร์กอัป แต่บางครั้งก็ใช้วิธีที่ไม่เข้าใจง่าย
ใช้ DTD (HTML4, XHTML1 @ W3C) - อาจไม่คุ้มค่า DTD เป็นแบบดั้งเดิมและเช่นไม่สามารถตรวจสอบความถูกต้องของคุณลักษณะส่วนใหญ่ได้ คุณจะยากที่จะเข้าใจข้อผิดพลาดเกี่ยวกับเอนทิตีและการซ้อน
HTML5 ตรวจสอบ - ใช่ อย่างแน่นอน. HTML5 นั้นใช้งานได้จริงมากกว่าและช่วยให้โครงสร้างบางอย่างที่ไม่เป็นอันตรายซึ่งเคยเป็นข้อผิดพลาด เครื่องมือตรวจสอบของ OTOH Henri นั้นละเอียดกว่าและดีกว่ามากในการค้นหาปัญหาที่แท้จริง
ความถูกต้องของรหัสที่สร้างขึ้นโดย JS อาจมีความสำคัญเนื่องจากเบราว์เซอร์ทำงานบน DOM ไม่ว่าจะสร้างอย่างไร หากคุณใช้งานdocument.write()
คุณต้องระมัดระวังในการแก้ไขไวยากรณ์ให้ถูกต้องด้วย
แม้ว่า HTML ของคุณจะทำงานกับเบราว์เซอร์หลัก ๆ ทั้งหมด แต่ก็น่าจะคุ้มค่าเพราะบางครั้งอาจทำให้เกิดปัญหากับโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาอย่าง googlebot ตัวอย่างเช่นดูนี้:
http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx
Google และ Bing ไม่ได้มีและจะไม่ใช้การตรวจสอบ CSS หรือ HTML เป็นปัจจัยอันดับ
เว็บไซต์ส่วนใหญ่มีข้อผิดพลาดหลายสิบถึงร้อยและคุณไม่จำเป็นต้องกังวลเกี่ยวกับเว็บไซต์เหล่านั้นเพราะเครื่องมือค้นหาทั้งหมดใส่ใจว่าหน้าเว็บนั้นแสดงผลอย่างไร เพียงแค่ให้เว็บไซต์ของคุณแสดงผลอย่างถูกต้องในเบราว์เซอร์ที่สำคัญทั้งหมดและของ Google ดึงข้อมูล