3. A Boston-based design firm specializing in
complex web application design &
development.
Official Sponsor and Design Team
Rich UI Design: An Access-Oriented Approach
4. The 90% Solution
How it’s done now
A recap of current best practices for web dev
Rich UI Design: An Access-Oriented Approach
46. AS SEEN ON
ALA
Rich UI Design: An Access-Oriented Approach
47. like interpretive dance, enhancements
aren’t for everyone
Rich UI Design: An Access-Oriented Approach
48. how do we know
who?
Rich UI Design: An Access-Oriented Approach
49. not like this!
navigator.userAgent
$_SERVER['HTTP_USER_AGENT']
Rich UI Design: An Access-Oriented Approach
50. more like this!
if( youCanRenderThis ){
>> enhance me!
}
Rich UI Design: An Access-Oriented Approach
51. tests you say?
what do we test?
Rich UI Design: An Access-Oriented Approach
52. any capabilities required
for the site to function properly
Rich UI Design: An Access-Oriented Approach
53. JavaScript Support
• Basic DOM traversal
• Basic Element manipulation
• AJAX Support
• Canvas perhaps...?
Rich UI Design: An Access-Oriented Approach
54. CSS Rendering
• Box Model
• Positioning
• Floats
• Clears
• Overflow
• And more...
Rich UI Design: An Access-Oriented Approach
55. How we test CSS
Once the <body> is ready, our test script:
inserts elements into the body
1
manipulates their style
2
checks if they rendered properly
3
Rich UI Design: An Access-Oriented Approach
56. How we test CSS
function boxmodel(){
var newDiv = document.createElement('div');
document.body.appendChild(newDiv);
newDiv.style.width = '20px';
newDiv.style.padding = '10px';
var divWidth = newDiv.offsetWidth;
document.body.removeChild(newDiv);
return divWidth == 40;
}
if( boxmodel() ){ >> PASS! }
Rich UI Design: An Access-Oriented Approach
57. What if it fails?
Basic Experience
Rich UI Design: An Access-Oriented Approach
58. What if it passes?
Basic Experience Enhanced Experience
Rich UI Design: An Access-Oriented Approach
59. What if it passes?
<html class=”enhanced”>
Add Class for CSS scoping
Rich UI Design: An Access-Oriented Approach
60. What if it passes?
CSS JS
Dynamically load CSS and JS
Rich UI Design: An Access-Oriented Approach
61. What if it passes?
Cookie the Results!
Rich UI Design: An Access-Oriented Approach
62. what’s the fallback?
View low-bandwidth version
Rich UI Design: An Access-Oriented Approach