Development:Progressive enhancement

(Redirected from Progressive enhancement)
Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Progressive enhancement.

Progressive enhancement is a new spin on the popular web design concept of graceful degredation. While the latter focuses on the visual presentation of a web page for the mainstream audience, progressive enhancement prioritises delivering the content and functionality to everyone. By ensuring that it works for every user regardless of technology platform and then adding any non-essential functionality that requires certain capabilities in the browser (or its user) onto that baseline it ensures usability and accessibility.


Progressive enhancement and Moodle

YUI

Moodle has adopted the Yahoo! user interface library as a platform to build AJAX and DHTML enhancements with. Yahoo! have adopted progressive enhancement as one of their key design goals for the library.

Hijax

Many of most popular AJAX applications were written from scratch with that goal in mind. While that may have saved them time and effort, it also makes it very easy to not support progressive enhancement. Coding for the mainstream audience first may make it very difficult to add support for everyone later. Moodle on the other hand was designed and built in a pre-AJAX age and so already has that infrastructure. Hijax is the name given to the technique of adding AJAX without removing or replacing the fall-back for less capable browsers.


See also