Tôi có nên tuân thủ nghiêm ngặt mọi tiêu chuẩn HTML và CSS không?


11

Vài năm trước, tôi tự coi mình là một nhà phát triển web, biết 3 ngôn ngữ cơ bản (HTML, CSS, JS) và rất nhiều PHP. Chuyển từ văn bản đơn giản sang các trang web thực tế là một nỗi đau vì cái gọi là "tiêu chuẩn" ngoài kia, lúc đó rất phức tạp đối với tôi. Nó khá sôi nổi với điều này (trừ những thứ liên quan đến IE):

Phát triển web trong biểu đồ hình tròn

Các tiêu chuẩn ở đó để thay thế những cách làm cũ theo cách đơn giản hơn. Tuy nhiên, khi cố gắng thực sự thực hiện một số nội dung (ví dụ như bố cục hoàn toàn dựa trên CSS), tôi phải mất gấp 10 lần để thực sự làm điều đó nếu tôi thực hiện giải pháp đơn giản hơn và vẫn hoạt động. Nếu nó được hiển thị giống nhau, thì tại sao tôi nên sử dụng ví dụ phức tạp hơn mất nhiều thời gian hơn 10 lần và phá vỡ một khi bạn thay đổi trình duyệt? Điều này đã gây ra nhiều cuộc tranh luận tôn giáo lâu dài trong ## php, ## css và ## js trong Freenode IRC và thực sự khiến tôi bị cấm ## css vì tôi đã nhầm lẫn với thế giới nhỏ bé của họ ở đó.

Câu hỏi của tôi: Tôi có nên tuân theo mọi quy ước về tiêu chuẩn và mã hóa ngay cả khi chúng đưa tôi lâu hơn 10 lần nhưng cho tôi kết quả tương tự như đơn giản?


Đối với thẻ thăm dò ý kiến, những người bạn có trang web ở bất kỳ quy mô nào (lớn hay nhỏ), bạn có tuân theo tất cả các tiêu chuẩn không?


Có biểu đồ đó là chống IE mặc dù ...
Ullallulloo

Các tiêu chuẩn và quy ước khá khác nhau. Tôi muốn nói theo các tiêu chuẩn (thông số kỹ thuật W3C, mã hợp lệ), bởi vì mọi thứ sẽ bị phá vỡ nếu bạn không. Nhưng thiết kế không cần thẻ là một hướng dẫn, ưu tiên, thực hành tốt nhất, nhưng bản thân nó không phải là một tiêu chuẩn.
Inca

tôi đã đưa ra một thuật toán để tăng năng suất lên 47% +/- 5%. Bắt đầu bằng cách phát triển trong IE và bạn sẽ không phải lo lắng về FF, Chrome, safari, v.v .... :). tất cả các trình duyệt khác chỉ hoạt động
Ibu

bạn sử dụng CSS vì sau khi bạn đã tạo bảng thứ 50 và có ai đó xuất hiện và yêu cầu bạn thay đổi tất cả để trở nên khác biệt và vẫn theo kiểu nhất quán, bạn sẽ không ở một nơi hạnh phúc. Ở đó, thực hiện điều đó (nhưng không phải tôi là người tạo ra mớ hỗn độn ban đầu)
kevin cline

Câu trả lời:


12

Sản phẩm đầu tiên, sau đó đánh bóng.

Để trang web / ứng dụng / trò chơi của bạn làm những gì nó phải làm. Nhận nó và chạy, và làm cho mọi người quan tâm.

Sau đó, khi bạn có thời gian, hãy quay lại và đánh bóng nó lên. Nhưng chỉ vì bạn quan tâm chứ không phải vì ai khác làm.

Tất nhiên, nếu các vấn đề không tuân thủ có nghĩa là mọi người không thể xem nó, hoặc nó xấu đến mức không thể đọc được hoặc phải mất một tháng để tải hoặc khó bảo trì hoặc nó bị sập trình duyệt, đây là một vấn đề lớn. Nhưng nó vẫn sẽ là một vấn đề lớn ngay cả khi bạn tuân thủ các tiêu chuẩn.

Người dùng thông thường không nhìn vào nguồn cho một trang web không tải và đi, "Chà, nó không hiển thị hình ảnh, nhưng nó hoàn toàn tuân thủ W3C". Họ chỉ cần duyệt đến một trang web khác và không bao giờ quay trở lại.

Tóm lại, các tiêu chuẩn là có để làm cho trình duyệt viết dễ dàng hơn và để đóng các lỗ hổng bảo mật tiềm năng. Amazon, Penny-Arcade và Stack Overflow không kiếm tiền từ việc điều hành một trang web tuân thủ tiêu chuẩn. Và trừ khi bạn tham gia một cuộc thi viết trang web, bạn cũng sẽ không.


12

Các nhà văn tiêu chuẩn đã nghĩ về những điều chưa xảy ra với bạn, chẳng hạn như mối quan tâm về khả năng truy cập. Tiêu chuẩn tồn tại vì một lý do. Và, với HTML5, các tiêu chuẩn khá dễ thực hiện.

Đôi khi, có thể có lý do để không tuân theo tiêu chuẩn, nhưng tuân theo nó phải là hành vi mặc định của bạn.


1
Điều đó nghe có vẻ công bằng. Tôi cố gắng tuân theo các tiêu chuẩn chung, chỉ là không phải ai trong số họ
TheLQ

7

Lười biếng không phải là một cái cớ để không tuân theo tiêu chuẩn. Đôi khi, nếu tiêu chuẩn là ngu ngốc, đó là một lý do để không tuân theo nó. Làm thế nào để bạn biết khi tiêu chuẩn là ngu ngốc? Khi bạn đã nỗ lực trong một thời gian dài để tuân theo tất cả các tiêu chuẩn có liên quan trong thư và tinh thần và bạn đã đi đến một kết luận hợp lý và được hỗ trợ tốt rằng tiêu chuẩn trong một số trường hợp thích hợp thực sự có lỗi, không phải bạn.

Hầu hết thời gian, điều này sẽ không được áp dụng mặc dù.


5

Tôi sẽ nói 'tuân thủ' các tiêu chuẩn tốt nhất có thể - nhưng đừng lãng phí quá nhiều thời gian cho quá trình nitrat hóa, đôi khi bạn có thể vượt qua một HTML / CSS tiêu chuẩn để theo đuổi sự hoàn hảo của tiêu chuẩn và bị bỏ rơi trong tình trạng tồi tệ nhất.

Ví dụ, trong một trong các ứng dụng web của chúng tôi, chúng tôi có một trang để lập hóa đơn. Trang liệt kê một danh sách dài các mục sẽ được lập hóa đơn và chứa một số cột. Nhà phát triển ban đầu đã quá nhiệt tình với hội chứng "Bàn là xấu xa", ông đã thiết kế toàn bộ cấu trúc 'bảng' trong CSS.

Khá ấn tượng, cho đến khi bạn là người bây giờ cần thêm một vài cột vào báo cáo, hãy xem các cột đó đi khắp mọi nơi vì bạn cần điều chỉnh lại các cài đặt CSS, chiều rộng, v.v ... ác mộng.

Nếu nhà phát triển không quá quan tâm đến việc tuân theo các tiêu chuẩn được gọi là tiêu chuẩn, thì anh ta sẽ nhận ra rằng thực ra, một bảng html thông thường sẽ có ý nghĩa hơn nhiều, ngày cuối cùng là hóa đơn.

Điều này dẫn tôi đến HTML ngữ nghĩa. Tôi tin rằng HTML của bạn chỉ nên chứa các yếu tố mô tả trang của bạn. Các kiểu nên được lưu trữ trong CSS và ở mức tồi tệ nhất, được nhập vào thuộc tính 'Kiểu' của thẻ HTML nếu có.

Tôi cũng thấy không có lý do hợp lệ tại sao người ta không nên đưa HTML của họ thông qua trình xác nhận - miễn là bạn nhận được HTML hợp lệ, bạn ở đó khá nhiều.


3

Cân nhắc đầu tiên của bạn nên hỗ trợ các trình duyệt mà khách hàng của bạn sử dụng. Thứ hai, bạn nên tuân thủ các tiêu chuẩn khi áp dụng.

Ví dụ, trong một dự án gần đây, trình duyệt duy nhất chúng tôi phải hỗ trợ là Firefox 3.5. Điều này có nghĩa là chúng ta có thể sử dụng các thuộc tính css -moz mà không cần lo lắng trang sẽ trông như thế nào trong một trình duyệt khác. Nó có thực sự đáng để thực hiện các góc tròn trong suốt chặng đường dài không, vì vậy chúng tôi đã sử dụng css tiêu chuẩn?

Phải nói rằng, khi tạo trang web cho nhiều trình duyệt, các tiêu chuẩn thường sẽ giúp bạn, thay vì cản trở bạn. Tôi sẽ cố gắng tuân thủ hầu hết các tiêu chuẩn, nhưng không mất bất kỳ giấc ngủ nào nếu tôi phải đi chệch hướng để tương thích trình duyệt.

Đối với cuộc thăm dò, câu trả lời từ tôi là Không.


0

Đừng theo dõi một cách mù quáng. Một số tiêu chuẩn là tốt, một số là xấu. Chúng phục vụ nhiều mục đích khác nhau và một số, như bản nháp của HTML5, phục vụ để đẩy một bộ sưu tập của các nhà sản xuất trình duyệt và nhà phát triển web lớn theo một hướng cụ thể có vẻ tốt. Nhưng hãy luôn nhớ rằng có vô số điều khủng khiếp đã được chuẩn hóa ...

COBOL cũng là một tiêu chuẩn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.