"Asynchronous JAvaScript and XML" - an amalgam
Jesse James Garret coined the term way back in 2005.
It builds on other technology groupings like DHTML
AJAX isn't a given - we need to inform our users that we are employing it .
Automatic updates without user requests are common (think stock or news tickers).
Allow user to disable automatic updates and to manually request updates.
Save the user's update preferences, on the server or with a cookie
Give the user the option of receiving an alert when an update occurs.
This is useful to assistive technology users - screen reader and magnifier users can miss automatic updates.
This should be optional!
Don't automatically shift focus on the page when an update occurs.
Changing focus without warning can be distracting.
Changes in color, font size, or weight need to be elective.
Allow the user to choose a highlight option .
When changing background color, it is best to use a subtle color and only change the background for 5-10 seconds.
Provide links to portions of the page that are dynamically updated.
If the site relies on the update of several areas of the page at different frequencies, provide a way to quickly navigate to each section. Think about usability.
Proper use of semantic markup is critical with AJAX-enabled pages.
Update existing elements with new content rather than creating and adding new high-level elements to the page.
If you must add elements, append them after the current focus point and make them a parent to an existing element rather than the document itself.
For example, create a <div> element in the markup and use it as the parent element when you add new content to the page. Update the contents within that <div> but don't remove and recreate the parent <div> element itself.
Adding navigable elements with explicit tabindex attribute values within the page may affect the tab order for assistive technology users.
