10 tính năng mới của HTML 5.1 & Cách sử dụng chúng IRL
Đặc tả HTML có một đại tu lớn một vài tuần trước khi W3C xuất bản đề xuất HTML 5.1 mới vào tháng 11 năm 2016. Trong bài đăng trên blog gần đây, W3C đã gọi phiên bản chính mới là tiêu chuẩn vàng, vì HTML 5.1 cung cấp cho chúng ta những cách mới về cách chúng ta có thể sử dụng HTML để tạo ra trải nghiệm web linh hoạt hơn.
Trong bài viết này, chúng ta sẽ xem xét các tính năng mới mà bạn có thể sử dụng không chạm vào JavaScript, tuy nhiên những cải tiến của nền JavaScript cũng rất đáng chú ý, như bạn có thể thấy nó trong nhật ký thay đổi chính thức.
Lưu ý rằng hiện tại không phải tất cả các trình duyệt đều hỗ trợ tất cả các tính năng này, vì vậy đừng quên kiểm tra hỗ trợ trình duyệt trước khi bạn sử dụng chúng trong sản xuất. Nếu bạn quan tâm đến phát triển hơn nữa của tiêu chuẩn HTML, bạn cũng có thể xem bản thảo làm việc của HTML 5.2.
1. Xác định nhiều tài nguyên hình ảnh cho thiết kế đáp ứng
Trong HTML 5.1, bạn có thể sử dụng gắn thẻ cùng với
srcset
thuộc tính để thực hiện lựa chọn hình ảnh đáp ứng khả thi. Các thẻ đại diện cho một thùng chứa hình ảnh cho phép các nhà phát triển khai báo tài nguyên hình ảnh khác nhau để thích ứng với UAKích thước khung nhìn, mật độ pixel màn hình, loại màn hình và các tham số khác được sử dụng trong thiết kế đáp ứng.
Các Bản thân thẻ không hiển thị bất cứ thứ gì, nó chỉ hoạt động như bối cảnh cho nhiều tài nguyên hình ảnh. Bạn cần khai báo tài nguyên hình ảnh mặc định như giá trị của
src
thuộc tính của và thẻ tài nguyên hình ảnh thay thế đi trong
srcset
thuộc tính của và
yếu tố.
Mã ví dụ:
2. Hiển thị hoặc ẩn thông tin bổ sung
Với
và
thẻ, bạn có thể thêm thông tin mở rộng đến một phần nội dung. Thông tin thêm không được hiển thị theo mặc định, nhưng nếu người dùng quan tâm, họ có tùy chọn để xem. Trong mã của bạn, bạn phải đặt
gắn thẻ bên trong
. Sau
gắn thẻ bạn có thể thêm thông tin bạn muốn trốn.
Mã ví dụ:
Thông báo lỗi
Chúng tôi không thể hoàn tất tải xuống video này.
- Tên tệp:
- yourfile.mp4
- Kích thước tập tin:
- 100 MB
- Thời lượng:
- 00:05:27
Đây là cách ví dụ mã này trông giống như trong Firefox 50.0.2:
3. Thêm chức năng vào menu ngữ cảnh của trình duyệt
Với yếu tố và nó
loại = "bối cảnh"
thuộc tính, bạn có thể thêm chức năng tùy chỉnh để menu ngữ cảnh của trình duyệt. Bạn cần phân công là yếu tố con của
nhãn. Các
ID
của yếu tố cần phải mang cùng giá trị như
trình đơn ngữ cảnh
thuộc tính của phần tử mà chúng tôi muốn thêm menu ngữ cảnh vào (đó là phần tử trong ví dụ dưới đây).
Mã ví dụ:
Các thẻ có thể có ba loại khác nhau,
"hộp kiểm"
, "chỉ huy"
(bạn cần thêm một hành động với JavaScript) và radio
. Có thể thêm nhiều mục menu vào menu ngữ cảnh, tuy nhiên hỗ trợ trình duyệt cho tính năng này là chưa tốt lắm. Chrome 54 không hỗ trợ nó và Firefox 50 chỉ cho phép sự hiện diện của một menu ngữ cảnh bổ sung. Dưới đây bạn có thể thấy cách ví dụ mã hoạt động trong Firefox 50.
4. Đầu và chân tổ
HTML 5.1 cho phép bạn tổ và chân nếu mỗi cấp là chứa trong phần nội dung. Ghi chú bên dưới là ảnh chụp màn hình từ các tài liệu W3C và tư vấn cho các nhà phát triển về cách lồng tiêu đề và chân trang phù hợp.
Tính năng này có thể hữu ích nếu bạn muốn thêm xây dựng các tiêu đề cho các yếu tố phân chia ngữ nghĩa, nhu la và
. Ví dụ mã bên dưới tạo một thanh bên trong tiêu đề,
thẻ cũng là một yếu tố phân chia và thêm thông tin về tác giả bên trong nó. Thanh bên trong tiêu đề có tiêu đề riêng của nó đồng thời, với phụ đề và thông tin liên hệ của tác giả.
Mã ví dụ:
Tiêu đề bài viết
Điều giới thiệu
Các đoạn khác
5. Sử dụng mã hóa mật mã cho kiểu và tập lệnh
Với HTML 5.1, bạn có thể thêm nonces mật mã vào phong cách và tập lệnh. Bạn có thể dùng nonce
thuộc tính trong and the
elements. A cryptographic nonce is a randomly generated number that can be used only once, and has to be regenerated for every page request. A nonce can be used by the Content Security Policy of a website to decide if the certain script or style should be applied on the page. In Google Developers' Web Fundamentals you can read more on the proper usage of nonces and CSP.
Below, you can see a simple code example of how to use the nonce
attribute, however note that in a real world scenario its value shouldn't be hard-coded but randomly generated.
Code example:
6. Tạo mối quan hệ liên kết ngược
Bạn có thể thêm vòng quay
thuộc tính để liên kết của bạn một lần nữa. Nó đã được định nghĩa trước đây trong HTML 4, tuy nhiên nó không được HTML5 hỗ trợ. HTML 5.1 cho phép các nhà phát triển sử dụng thuộc tính này một lần nữa cho và
yếu tố. Các
vòng quay
thuộc tính là trái ngược với quan hệ
, nó chỉ định mối quan hệ của hiện tại và tài liệu được liên kết theo hướng ngược lại (làm thế nào tài liệu hiện tại có liên quan đến tài liệu được liên kết).
Mã ví dụ:
Các vòng quay
thuộc tính đã được bao gồm trong thông số kỹ thuật HTML 5.1 chủ yếu là ủng hộ RDFa được sử dụng rộng rãi định dạng đánh dấu dữ liệu có cấu trúc, và mở rộng ngôn ngữ HTML.
7. Sử dụng hình ảnh có độ rộng bằng không
HTML 5.1 làm cho nó có thể tạo hình ảnh có độ rộng bằng không bằng cách cho phép các nhà phát triển sử dụng chiều rộng
thuộc tính với 0
như giá trị. Tính năng này có thể hữu ích nếu bạn muốn bao gồm hình ảnh mà bạn không muốn hiển thị cho người dùng, chẳng hạn như theo dõi tập tin hình ảnh. Hình ảnh có độ rộng bằng không được khuyến nghị là được sử dụng cùng với sản phẩm nào alt
thuộc tính.
Mã ví dụ:
8. Bối cảnh trình duyệt riêng biệt để ngăn chặn các cuộc tấn công lừa đảo
Sử dụng cùng một liên kết nguồn gốc trên trang web của bạn cuối cùng có thể khiến bạn gặp một số rắc rối. Lỗ hổng được gọi là mục tiêu =”_chỗ trống” khai thác, và đó là một cuộc tấn công lừa đảo khó chịu. Bạn có thể (an toàn) kiểm tra cuộc tấn công này hoạt động như thế nào trên trang demo Github thông minh này và mã nền của nó bạn có thể tìm thấy ở đây trên Github.
HTML 5.1 đã chuẩn hóa việc sử dụng rel = "noopener"
thuộc tính mà phân tách bối cảnh trình duyệt do đó loại bỏ vấn đề này. Bạn có thể dùng rel = "noopener"
trong và
yếu tố.
Mã ví dụ:
Liên kết của bạn sẽ không gây rắc rối
9. Tạo một tùy chọn trống
HTML 5.1 cho phép các nhà phát triển tạo một sản phẩm nào thành phần. Các
thẻ có thể là yếu tố con của
,
, hoặc là
các yếu tố. Khả năng của có một sản phẩm nào
có thể hữu ích nếu bạn không muốn đề xuất tùy chọn nào người dùng nên chọn và có thể hữu ích khi bạn muốn thiết kế các biểu mẫu thân thiện với người dùng.
10. Xử lý chú thích hình linh hoạt hơn
Các
thẻ đại diện cho một chú thích hoặc một huyền thoại thuộc về yếu tố là một thùng chứa cho hình ảnh, chẳng hạn như minh họa, hình ảnh và sơ đồ. Trước đây,
chỉ có thể sử dụng thẻ là đứa con đầu tiên hoặc cuối cùng của thành phần. HTML 5.1 đã nới lỏng quy tắc này, và bây giờ
có thể xuất hiện ở bất cứ đâu trong nó thùng đựng hàng.