Mozilla sửa lỗi CSS "18 năm tuổi" trên trình duyệt Firefox

HaiiDeas

Viết dạo...
Tham gia
23/4/16
Bài viết
14,115
Được thích
17,189
812 #1

Vào dịp Giáng Sinh vừa qua, Mozilla đã tặng quà cho người dùng bằng cách sửa một trong số những lỗi CSS tồn tại hàng thập kỷ trên trình duyệt Firefox.

Lỗi này liên quan đến phần tử giả ::first-letter trong CSS, được các nhà phát triển tìm thấy cách đây 18 năm trên trình duyệt Firefox. Theo giải thích từ tài liệu web MDN, phần tử giả CSS ::first-letter "có thể thêm kiểu cho chữ cái của dòng đầu tiên trong phần tử cấp khối, nhưng chỉ áp dụng được nếu không có nội dung khác đứng trước (chẳng hạn như hình ảnh)". Khi thả nổi left a :first-letter để tạo ra một dropcap, người phát hiện ra lỗi cách đây 18 năm cho biết rằng "phần tử giả này đã tự động bỏ qua mọi chiều cao dòng được khai báo trước đó và kế thừa chiều cao dòng (line-height) của hộp chính".

Hành vi không chính xác theo tiêu chuẩn CSS này đã "ngăn người dùng định vị chữ cái đầu tiên bằng cách giảm hộp dòng thông qua việc sử dụng chiều cao dòng nhỏ." Kết quả cuối cùng là Firefox hiển thị sai chữ cái đầu tiên, trong khi các trình duyệt khác (như Opera 7.5+ hay Safari 1.0 vào thời điểm đó) đã xử lý chính xác tính năng CSS.


Sự cố này được báo cáo vào ngày 12 tháng 4 năm 2005 và xuất hiện trong đợt phát hành chính đầu tiên của Firefox (1.0). Các nhà phát triển đã tiến hành khắc phục lỗi này trên Firefox 3.0 vào năm 2007 dành cho nền tảng Mac, nhưng sau đó lại xuất hiện vào năm 2014 và khiến một số trang web có chữ cái đầu tiên lớn bất thường trong một khối văn bản so với các trình duyệt khác. Thậm chí, CSS Working Group (quản lý bởi World Wide Web Consortium) đã tuyên bố rằng, Firefox không đáp ứng đủ các thông số kỹ thuật của CSS cũng như cách xử lý đối với sự cố ::first-letter.

Vào ngày 20 tháng 12 năm 2022 với phiên bản Firefox 110 (dự kiến phát hành vào tháng 2 năm 2023), công ty đã đánh dấu lỗi CSS ::first-letter đã được giải quyết. Tuy nhiên, theo giải thích từ nhà phát triển Jonathan Kew của Mozilla thì đây là một "bản vá lỗi" nhằm "giảm thiểu rủi ro".


TECHRUM.VN / THEO: TECHSPOT
 
Top Bottom