มีเหตุผลใดที่จะไม่เริ่มใช้ประเภท HTML 5? [ปิด]


132

ควรจะเข้ากันได้กับ HTML4 และ XHTML ย้อนหลัง จอห์นเรซิกโพสต์เกี่ยวกับบางส่วนของผลประโยชน์ที่

ตราบใดที่เราไม่ได้ใช้คุณลักษณะใหม่ ๆ และยังไม่ได้รับการสนับสนุนจะมีข้อเสียในการเริ่มต้นสร้างไซต์ด้วยหลักประเภทนี้หรือไม่?


1
ฉันกำลังจะปิดตัวลงเพราะในเวลานั้นมันเป็นปัญหาที่ถูกต้อง แต่ชีวิตได้ดำเนินต่อไปและ HTML5 อยู่ที่นี่ นอกจากนี้ยังดึงดูดธงเนื่องจากคำตอบส่วนใหญ่เป็นความคิดเห็นมากกว่าความเป็นจริง
Kev

คำตอบ:


143

พิจารณาสิ่งนี้ให้ดี:

เมื่อทำหน้าที่เป็นข้อความ / html สิ่งที่คุณต้องมีคือการเรียกใช้โหมดมาตรฐาน นอกเหนือจากนั้นประเภทหลักไม่ได้ทำอะไรเลยเท่าที่เบราว์เซอร์เกี่ยวข้อง

เมื่อทำหน้าที่เป็นข้อความ / html ไม่ว่าคุณจะใช้มาร์กอัป XHTML หรือมาร์กอัป HTML เบราว์เซอร์จะถือว่าเป็น HTML

ดังนั้นการใช้ประเภทหลักที่สั้นที่สุดที่เรียกใช้โหมดมาตรฐาน (<! DOCTYPE html>) และการใช้มาร์กอัป HTML ที่ให้ผลลัพธ์ที่ถูกต้องในเบราว์เซอร์

ส่วนที่เหลือเป็นเรื่องของการปฏิบัติตามการตรวจสอบความถูกต้องและการกำหนดล่วงหน้าของมาร์กอัป

ด้วยเหตุนี้การใช้ <! DOCTYPE html> ในตอนนี้และการพยายามทำให้มาร์กอัปของคุณสอดคล้องกับ HTML5 ไม่ใช่ความคิดที่ไม่ดีตราบใดที่คุณยึดติดกับคุณสมบัติที่เสถียรซึ่งทำงานได้ในเบราว์เซอร์ คุณจะไม่ใช้อะไรเลยใน HTML4 หรือ XHTML 1.x ที่ใช้ไม่ได้ในเบราว์เซอร์ใช่ไหม

กล่าวอีกนัยหนึ่งคือคุณใช้ <! DOCTYPE html> กับมาร์กอัปคล้าย HTML4 ในขณะที่ให้เกียรติสิ่งต่างๆที่ได้รับการชี้แจงใน HTML5 HTML5 นั้นเกี่ยวกับความเข้ากันได้ของเบราว์เซอร์

ข้อเสียของการใช้ HTML5 ตอนนี้คือสเป็คสามารถเปลี่ยนแปลงได้ค่อนข้างบ่อย สิ่งนี้ทำให้คุณต้องติดตามข้อมูลจำเพาะเมื่อมีการเปลี่ยนแปลงอย่างต่อเนื่อง นอกจากนี้http://validator.nu/อาจไม่เป็นปัจจุบันเสมอไป แต่http://validator.w3.org/ก็ไม่เป็นปัจจุบันเสมอไปดังนั้นอย่าปล่อยให้สิ่งนั้นหยุดคุณ

แน่นอนว่าหากคุณต้องการใช้มาร์กอัป XHTML 1.0 และสอดคล้องกับ XHTML 1.0 คุณไม่ควรใช้ <! DOCTYPE html>

โดยส่วนตัวแล้วฉันใช้ <! DOCTYPE html> สำหรับ HTML เสมอ


4
ฉันคิดว่าการละเว้น URI จะทำให้เบราว์เซอร์เข้าสู่โหมดแปลก ๆ จึงทำให้การทำงานตามมาตรฐานเป็นความพยายามที่ไร้ประโยชน์
graham.reeds

5
เหตุใดคุณจึงใช้มาร์กอัป XHTML 1.0 เป็น <! DOCTYPE html> ไม่ได้ ฉันคิดว่านั่นคือประเด็น!
Skilldrick

2
Skilldrick คุณสามารถเขียนเอกสารหลายภาษาได้ใช่ stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531

5
“ ฉันคิดว่าการละเว้น URI จะทำให้เบราว์เซอร์เข้าสู่โหมดแปลก ๆ ” - ไม่ ส่วนใหญ่ของการทำงานบน HTML5 คือ Ian Hickson ทดสอบเบราว์เซอร์ที่ใช้กันทั่วไปจำนวนมากอย่างไม่ลดละเพื่อดูว่าอะไรได้ผลและเป็นอย่างไร ประเภทของ HTML5 เรียกใช้โหมดมาตรฐานใน (ฉันเชื่อว่า) เบราว์เซอร์ทั้งหมดที่มีสิ่งนี้
Paul D.Waite

23
ถ้าช่วยได้ฉันเพิ่งทดสอบ <! DOCTYPE html> ใน IE8, IE7 (โดยใช้เครื่องมือ IE8 dev) และ IE6 (โดยใช้ Virtual PC) ไม่มีใครเข้าสู่โหมดนิสัยใจคอ ดังนั้นแม้แต่ IE รุ่นเก่าก็สามารถจัดการประเภท HTML5 มาตรฐานได้อย่างแน่นอนโดยไม่ต้องเข้าสู่โหมดแปลก ๆ
ไวยากรณ์ผิดพลาด

3

คำถามของฉันสำหรับคุณคือทำไมต้องใช้ถ้าคุณไม่ใช้คุณสมบัติใหม่ / ที่ไม่รองรับ ฉันไม่ได้บอกว่าคุณไม่สามารถเล่นกับมันได้ แต่ทำไมต้องเริ่มสร้างเว็บไซต์ด้วยประเภทหลักที่ไม่มีประโยชน์และสามารถเสริมด้วย XHTML5 ได้


3
“ ทำไมต้องใช้ถ้าคุณไม่ใช้คุณสมบัติใหม่ / ที่ไม่รองรับ” - เพราะมันสั้นและจำง่ายกว่า ไม่ใช่เรื่องใหญ่เห็นได้ชัด แต่ก็ยัง
Paul D.Waite

ใช่ แต่นั่นจะไม่ใช่ XHTML 1.2 หรือ XHTML 2.0? ;)
Talvi Watia

1
HTML5 คือ 'XHTML5' W3C ได้ยุติการพัฒนา 'X'HTML
Chris Harrison

ไม่จริง XHTML5 และ HTML5 คือการแสดงมาร์กอัปที่แตกต่างกันสองแบบ (serialisations) ของภาษา HTML เดิมเป็นแบบ XML และภาษาหลังเป็นภาษาถิ่นที่ไม่ซ้ำกัน (พร้อมความหมายในการแยกวิเคราะห์พิเศษ) ของ SGML
Delan Azabani

2

ฉันจะบอกว่าใช้มันและทดสอบอย่างครอบคลุม จากนั้นแจ้งให้เราทราบหากบ้านของคุณเสียหายหรืออะไรบางอย่าง : ')


2

จาก IE8 เบต้าล่าสุดดูเหมือนว่า MS จะใช้ประเภท HTML5 เป็นทางเลี่ยงสำหรับหล่มสลับโหมด IE8 ดูเหมือนว่าความเสี่ยงที่ใหญ่ที่สุดในการปรับใช้หลัก HTML5 ในช่วงต้นคือหากผู้คนเผยแพร่เนื้อหาที่เข้ากันไม่ได้กับ IE8 จำนวนมากกับหลักประเภท HTML5 ก่อนที่ IE8 จะจัดส่ง MS อาจรู้สึกไม่สบายใจเกี่ยวกับการทำให้สถานการณ์ของโหมดง่ายขึ้นสำหรับ HTML5

อัปเดต:ดูเหมือนว่าสิ่งนี้ได้รับการโหวตแล้ว เห็นได้ชัดว่าตอนนี้ IE8 ได้จัดส่งแล้วการพิจารณาข้างต้นใช้ไม่ได้อีกต่อไป และแน่นอนสถานการณ์จะไม่ง่ายด้วย IE8


2

ข้อเสียสำหรับฉันส่วนใหญ่เกี่ยวข้องกับการตรวจสอบความถูกต้อง:

  1. เครื่องมือตรวจสอบความถูกต้องของบุคคลที่สามไม่สามารถเปลี่ยนแปลงข้อมูลจำเพาะได้เสมอไปทำให้เครื่องมือโปรดของฉันไม่น่าเชื่อถือ
  2. ฉันชอบที่จะตรวจสอบความถูกต้องตามหลักการที่เข้มงวดเพื่อให้แน่ใจว่าฉันได้ปิดองค์ประกอบทั้งหมดแล้ว เป็นวิธีง่ายๆในการหลีกเลี่ยงข้อผิดพลาดในการซ้อนที่เรียบง่าย แต่เสียเวลา ด้วย HTML 5 คุณไม่จำเป็นต้องปิดองค์ประกอบของคุณจึงไม่มีทางที่จะพบแท็กที่ไม่ตรงกัน

นั่นเป็นความจริงซึ่งเป็นสาเหตุที่คุณต้องการค้นหาตัวตรวจสอบผ้าสำลี html: lint.brihten.com/html/helpแทนที่จะเป็นเพียงตัวตรวจสอบความถูกต้อง
Kzqai

1

หากคุณจะใช้ประเภทหลักทดลองกับคุณสมบัติ ตราบใดที่พวกเขาไม่เข้าไปในไซต์การผลิตและคุณทดสอบอย่างละเอียด


1

พิจารณาผู้ชมและความต้องการของคุณ ฉันเขียนหน้าต่างๆเช่นการทดสอบในชั้นเรียนกับกลุ่มเป้าหมายที่เป็นนักเรียนในหลักสูตรของฉันที่ใช้ FireFox 3 ในห้องปฏิบัติการคอมพิวเตอร์ที่ติดตั้ง Ubuntu ฉันต้องการ SVG ที่ฝัง MathMl เป็น ForeignObject ใน SVG ฉันใช้ประเภท HTML5 และแท็ก HTML5 ใหม่ได้อย่างอิสระ


0

ดูโพสต์บล็อกนี้! ไม่ใช่แฟน HTML5 http://www.webscienceman.com/2009/01/24/html-xhtml-html5-future-html/


2
สำหรับคนที่ยังอ่านบทความนี้โปรดทราบว่าบทความ (และคำตอบ) มีอายุเกือบ 2 ปีแล้วและ HTML5 มีการเคลื่อนไหวค่อนข้างเร็วตลอดเวลา
rjmunro

0

สำหรับใครที่กำลังมองหาสิ่งนี้ แผนภูมิที่ http://hsivonen.iki.fi/doctype/แสดงโหมดการแสดงผลต่างๆที่เบราว์เซอร์ต่างๆใช้ขึ้นอยู่กับการประกาศ DOCTYPE ที่ใช้ ทำให้คุณมีความคิดที่ดีว่าการสลับ DOCTYPE ทำงานอย่างไร


-16

โดยส่วนตัวฉันบอกว่าไม่ ไม่มีประโยชน์ที่ชัดเจนสำหรับ HTML5 และในความเป็นจริงจะกล่าวได้ว่าสิ่งทั้งหมดไม่สมบูรณ์ตั้งแต่เริ่มต้น

การมีแท็กเฉพาะสำหรับส่วนหัวส่วนท้ายและแถบด้านข้างถือเป็นความผิดพลาดอย่างมากคุณได้รับแท็กเหล่านี้แล้วในรูปแบบของแท็ก (div) และชื่อ (คลาส / id) ทำไมเราถึงต้องการผู้เชี่ยวชาญ? XHTML1.1 ดีพอระยะเวลา ในความเป็นจริงเนื่องจากเบราว์เซอร์ส่วนใหญ่ไม่รองรับ HTML4 อย่างถูกต้องจึงมีจุดเล็ก ๆ น้อย ๆ ในการใช้ประเภทหลักที่จะต้องใช้เวลาหลายปีในการได้รับการสนับสนุนที่เหมาะสม


10
มันเกี่ยวกับความหมาย คุณสามารถกำจัดแทบทุกแท็กใน HTML ได้อย่างสมบูรณ์แบบและไม่ต้องใช้อะไรเลยนอกจากคุณสมบัติ div, span และ style / class แต่คุณลบค่าความหมายทั้งหมดออกจากเอกสารโดยการทำเช่นนั้น
Laurent

2
แค่คิดว่ามันจะมีประโยชน์แค่ไหนสำหรับเครื่องมือค้นหา
Leo Jweda

@Laurent: ดังนั้นถ้าฉันต้องการให้ส่วนหัวเป็นแถบด้านข้างตอนนี้ฉันต้องผ่าน css และมาร์กอัปทั้งหมดที่สลับไปมาเพราะมันไม่ถูกต้องตามความหมายอีกต่อไป? ไม่ต้องทำให้มันเป็น div เรียกมันว่ามันทำอะไรและใช้มันอย่างไร @ เล ธ : มันจะดีสำหรับเสิร์ชเอนจินในแง่ใด?
graham.reeds

Canvas: อยากใช้ไหม? คุณทำไม่ได้ หรือคุณทำได้ แต่ตอนนี้คุณอยู่ในดินแดนแห่งการเขียนโปรแกรมเป้าหมาย ข้อใดไม่ใช่ประเด็นมาตรฐาน.
graham.reeds

3
“ ทำให้มันเป็น div เรียกมันว่ามันทำอะไรและใช้มันตามที่คุณต้องการ” - ไอ้ตรง. ในขณะที่คุณทำอยู่ให้ทำเช่นเดียวกันกับย่อหน้าและรายการทั้งหมดของคุณ ฉันจะพิมพ์ sarcmark ที่นี่ได้อย่างไร
Paul D.Waite
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.