Cải tiến lũy tiến

Cải tiến lũy tiến (Progressive enhancement) là một triết lý thiết kế cung cấp nền tảng nội dung và chức năng thiết yếu cho nhiều người dùng nhất có thể, trong khi chỉ mang lại trải nghiệm tốt nhất có thể cho người dùng của các trình duyệt hiện đại nhất có thể chạy tất cả mã cần thiết.

Từ progressive (lũy tiến) trong progressive enhancement có nghĩa là tạo ra một thiết kế đạt được trải nghiệm đơn giản hơn nhưng vẫn có thể sử dụng được cho người dùng của các trình duyệt và thiết bị cũ hơn có khả năng hạn chế, đồng thời là một thiết kế cải tiến lũy tiến trải nghiệm người dùng lên mức hấp dẫn hơn, đầy đủ tính năng hơn cho người dùng của các trình duyệt và thiết bị mới hơn có khả năng phong phú hơn.

Phát hiện tính năng thường được dùng để xác định xem trình duyệt có thể xử lý các chức năng hiện đại hơn hay không, trong khi polyfill thường được dùng để thêm các tính năng còn thiếu bằng JavaScript.

Cần chú ý đặc biệt đến khả năng tiếp cận. Các phương án thay thế chấp nhận được nên được cung cấp nơi có thể.

Cải tiến lũy tiến là một kỹ thuật hữu ích cho phép các nhà phát triển web tập trung vào việc phát triển các trang web tốt nhất có thể trong khi vẫn đảm bảo các trang web đó hoạt động trên nhiều tác nhân người dùng (user agent) không xác định. Graceful degradation có liên quan nhưng không giống nhau và thường được xem là đi theo hướng ngược lại với cải tiến lũy tiến. Trên thực tế, cả hai cách tiếp cận đều có giá trị và thường có thể bổ sung cho nhau.

Xem thêm