SlideShare una empresa de Scribd logo
1 de 125
Rich UI Design:
An Access-Oriented
              Scott Jehl, Designer / Developer
hello.




Rich UI Design: An Access-Oriented Approach
A Boston-based design firm specializing in
                    complex web application design &
                             development.



                                 Official Sponsor and Design Team




Rich UI Design: An Access-Oriented Approach
The 90% Solution



                 How it’s done now
                  A recap of current best practices for web dev




Rich UI Design: An Access-Oriented Approach
Clean, semantic HTML




Rich UI Design: An Access-Oriented Approach
Unobtrusive JS & CSS




Rich UI Design: An Access-Oriented Approach
Avoid CSS hacks
          conditional comments (if necessary)




Rich UI Design: An Access-Oriented Approach
Flexible Units




Rich UI Design: An Access-Oriented Approach
test in all the
              popular browsers




Rich UI Design: An Access-Oriented Approach
Accessible Hiding




Rich UI Design: An Access-Oriented Approach
test on a
                      screenreader




Rich UI Design: An Access-Oriented Approach
NVDA:
           <h1>You sound like a drunk person in a
                    karaoke bar!</h1>




Rich UI Design: An Access-Oriented Approach
NVDA:
           <h1>You sound like a drunk person in a
                    karaoke bar!</h1>




Rich UI Design: An Access-Oriented Approach
the promise of PE:




Rich UI Design: An Access-Oriented Approach
the promise of PE:
    Works OK for everyone!




Rich UI Design: An Access-Oriented Approach
right?




Rich UI Design: An Access-Oriented Approach
that’s the
                                 theory
                                     anyway.




Rich UI Design: An Access-Oriented Approach
many browsers
        partially understand...




Rich UI Design: An Access-Oriented Approach
more like...
                  progressive
                 mischancement!
                     ...disenchantment?

                           ...is this thing on?




Rich UI Design: An Access-Oriented Approach
HTML works
                       everywhere*


                                              * Pretty much


Rich UI Design: An Access-Oriented Approach
Images, CSS, JS are
                                  extras
                will break (badly) somewhere




Rich UI Design: An Access-Oriented Approach
for example




Rich UI Design: An Access-Oriented Approach
Northface.com




Rich UI Design: An Access-Oriented Approach
Northface.com


 IE 5




Rich UI Design: An Access-Oriented Approach
Cappuccino Framework Demo




Rich UI Design: An Access-Oriented Approach
Cappuccino Framework Demo

Without JavaScript




Rich UI Design: An Access-Oriented Approach
eek. (fixed in dev)




Rich UI Design: An Access-Oriented Approach
All or Nothing
                              frankly, sucks.




Rich UI Design: An Access-Oriented Approach
what’s a
                      web designer
                                      to do?




Rich UI Design: An Access-Oriented Approach
one way
                   to approach the problem...




Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
nice
        if you have the resources support it...




Rich UI Design: An Access-Oriented Approach
a more
                              practical
                                   approach:




Rich UI Design: An Access-Oriented Approach
One page,
              many experiences




Rich UI Design: An Access-Oriented Approach
Slick here:




                   Still works here:




Rich UI Design: An Access-Oriented Approach
everyone
         gets a usable, functional experience:




Rich UI Design: An Access-Oriented Approach
some
                      get an even better one!




Rich UI Design: An Access-Oriented Approach
integrating an



       Access-Oriented




Rich UI Design: An Access-Oriented Approach
please God no.


Rich UI Design: An Access-Oriented Approach
not that access.

Rich UI Design: An Access-Oriented Approach
Access-Oriented Web
                  Design

              Consider universal access




Rich UI Design: An Access-Oriented Approach
Take an inclusive approach!




                                    “...To progress, we must change
                                    the way we approach this task.”



Rich UI Design: An Access-Oriented Approach
how’s do we do it?




Rich UI Design: An Access-Oriented Approach
here’s how...



                Capabilities
                            So you think you can enhance?




Rich UI Design: An Access-Oriented Approach
Test Capabilities


Basic Experience                                   Enhanced Experience




Rich UI Design: An Access-Oriented Approach
AS SEEN ON
        ALA


Rich UI Design: An Access-Oriented Approach
like interpretive dance, enhancements
            aren’t for everyone




Rich UI Design: An Access-Oriented Approach
how do we know
                                    who?




Rich UI Design: An Access-Oriented Approach
not like this!

                 navigator.userAgent


      $_SERVER['HTTP_USER_AGENT']


Rich UI Design: An Access-Oriented Approach
more like this!


              if( youCanRenderThis ){
                 >> enhance me!
              }


Rich UI Design: An Access-Oriented Approach
tests you say?
                              what do we test?




Rich UI Design: An Access-Oriented Approach
any capabilities required
               for the site to function properly




Rich UI Design: An Access-Oriented Approach
JavaScript Support

                  • Basic DOM traversal
                  • Basic Element manipulation
                  • AJAX Support
                  • Canvas perhaps...?




Rich UI Design: An Access-Oriented Approach
CSS Rendering
  • Box Model
  • Positioning
  • Floats
  • Clears
  • Overflow
  • And more...



Rich UI Design: An Access-Oriented Approach
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
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
What if it fails?


Basic Experience




Rich UI Design: An Access-Oriented Approach
What if it passes?



Basic Experience                              Enhanced Experience




Rich UI Design: An Access-Oriented Approach
What if it passes?


                                    <html class=”enhanced”>




             Add Class for CSS scoping

Rich UI Design: An Access-Oriented Approach
What if it passes?


                  CSS                         JS



           Dynamically load CSS and JS

Rich UI Design: An Access-Oriented Approach
What if it passes?




                      Cookie the Results!

Rich UI Design: An Access-Oriented Approach
what’s the fallback?

                     View low-bandwidth version




Rich UI Design: An Access-Oriented Approach
enhance.js

 Available at FilamentGroup.com/lab/




Rich UI Design: An Access-Oriented Approach
Let’s get to the demos




Rich UI Design: An Access-Oriented Approach
introducing...



                    Our Demo Page




Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
the foundation...



 Simple, Meaningful,
                             ...and a little stylish too




Rich UI Design: An Access-Oriented Approach
breaking down
                              a design comp




Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
<option>               <table>
             <li>
                             <h2>
<dl>                                                <legend>
         <ol>                   This is your

          <p>
                          database                      <ul>

    <h1>                                            <label>
                         <select>
                                                      <h3>
   <textarea>                             <input>

Rich UI Design: An Access-Oriented Approach
date picker
            control




HTML: <input type=“text” />

Rich UI Design: An Access-Oriented Approach
custom select
             menus




   HTML: <select>


Rich UI Design: An Access-Oriented Approach
slider controls




   HTML: <select>


Rich UI Design: An Access-Oriented Approach
custom radio




   HTML: <input type=“radio” />


Rich UI Design: An Access-Oriented Approach
custom checkbox




HTML: <input type=“checkbox” />




Rich UI Design: An Access-Oriented Approach
custom submit button




 HTML: <input type=“submit” />




Rich UI Design: An Access-Oriented Approach
data charts




  HTML: <table>

Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
a little
                       <style> is OK
                          (where it’s safe)




Rich UI Design: An Access-Oriented Approach
Unsafe Basic CSS
                            floats
                        reversed text
                     background images
                         positioning



Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
the upgrade...



         Enhancing the
                   with UI transformations, keyboard support, ARIA




Rich UI Design: An Access-Oriented Approach
first, let’s quickly set up
                                 the test




Rich UI Design: An Access-Oriented Approach
<link rel="stylesheet" type="text/css" href="css/basic.css" />

<script src="js/enhance.js" type="text/javascript"></script>

<script type="text/javascript">

	     enhance({

	     	    loadStyles: ['enhanced.css'],

	     	    loadScripts: ['enhanced.js']

	     });

</script>




    Rich UI Design: An Access-Oriented Approach
adding some components




Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
first, we add




              first, add to the enhanced.js file




Rich UI Design: An Access-Oriented Approach
datepicker plugin




     JS: $(‘input’).datepicker();


Rich UI Design: An Access-Oriented Approach
jQuery dom ready

$(document).ready(function(){

            //our scripting goes here!

});


Rich UI Design: An Access-Oriented Approach
selectmenu
                plugin




   JS: $(‘select’).selectmenu();


Rich UI Design: An Access-Oriented Approach
select-to-slider
         plugin




JS: $(‘select’).selectToUISlider();



Rich UI Design: An Access-Oriented Approach
custom radio plugin




   JS: $(‘input’).customInput();


Rich UI Design: An Access-Oriented Approach
custom checkbox plugin




   JS: $(‘input’).customInput();


Rich UI Design: An Access-Oriented Approach
input-to-button plugin




JS: $(‘input’).inputToButton();




Rich UI Design: An Access-Oriented Approach
visualize plugin




      JS: $(‘table’).visualize();

Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
some tips for



 Rolling your Own




Rich UI Design: An Access-Oriented Approach
replicate
                                  before you
                                extend!




Rich UI Design: An Access-Oriented Approach
scrape
                                          and
                             repurpose




Rich UI Design: An Access-Oriented Approach
proxy back
                                      to the
                    native control



Rich UI Design: An Access-Oriented Approach
follow

                           native
                        conventions
                                         and
                  user expections


Rich UI Design: An Access-Oriented Approach
consider the mouse
                              optional




Rich UI Design: An Access-Oriented Approach
keyboard basics




Rich UI Design: An Access-Oriented Approach
tab
                       between components




Rich UI Design: An Access-Oriented Approach
arrow, space, enter, other
                         within components




Rich UI Design: An Access-Oriented Approach
tabindex
                               0 vs. -1 vs. N




Rich UI Design: An Access-Oriented Approach
Keyboard Access Guidelines

                       “DHTML STYLE GUIDE”

               http://dev.aol.com/dhtml_style_guide




Rich UI Design: An Access-Oriented Approach
keyboard support alone
               won’t be enough.



                                              Window Eyes




Rich UI Design: An Access-Oriented Approach
integrating
             WAI-ARIA support




Rich UI Design: An Access-Oriented Approach
many
                              controls
                                 are beyond
                    HTML’s vocab


Rich UI Design: An Access-Oriented Approach
landmarks
                    banner, main, navigation


                                   roles
                            tree, slider, tabs


                                 states
                aria-expanded, aria-checked



Rich UI Design: An Access-Oriented Approach
Adding ARIA
                      to the jQuery UI Slider




Rich UI Design: An Access-Oriented Approach
Existing Markup


  <div class="ui-slider">

  	    <a href="#" class="ui-slider-handle" style="left: 38%;"></a>

  </div>




Rich UI Design: An Access-Oriented Approach
“number link” - Jaws




Rich UI Design: An Access-Oriented Approach
“Number link”

    <div class="ui-slider">


    	 <a href="#" class="ui-slider-




Rich UI Design: An Access-Oriented Approach
Adding ARIA




Rich UI Design: An Access-Oriented Approach
Modified Markup
  <div role=”application” class="ui-slider">

  	    <a href="#" class="ui-slider-handle" style="left: 38%;"

       role=”slider”
       aria-valuemin=”0”
       aria-valuemax”100”
       aria-valuenow=”38”
       aria-valuetext=”38%”>
       </a>

  </div>



Rich UI Design: An Access-Oriented Approach
“slider control: 38
                                         percent. Use arrows to
                                          move handle” - Jaws




Rich UI Design: An Access-Oriented Approach
the result...



               Putting it All Together
                              Let’s see this thing in action!




Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
Rich UI Design: An Access-Oriented Approach
the end...



                     Thanks
                   for links and such, visit filamentgroup.com/lab




Rich UI Design: An Access-Oriented Approach

Más contenido relacionado

Similar a Rich UI Design: An Access Oriented Approach Sc For Ss.Key

User Experience and WordPress
User Experience and WordPressUser Experience and WordPress
User Experience and WordPressAnne Miles
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive DesignIntelligent_ly
 
User experience. What is it anyway?
User experience. What is it anyway?User experience. What is it anyway?
User experience. What is it anyway?Marilyn Langfeld
 
The Developer Identity – Style & Class Edition
The Developer Identity – Style & Class EditionThe Developer Identity – Style & Class Edition
The Developer Identity – Style & Class EditionJeffrey Kamo
 
Achieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UIAchieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UILohith Goudagere Nagaraj
 
The Design Mind: Web Design for All: Accessibility, Inclusivity and Beyond
The Design Mind: Web Design for All: Accessibility, Inclusivity and BeyondThe Design Mind: Web Design for All: Accessibility, Inclusivity and Beyond
The Design Mind: Web Design for All: Accessibility, Inclusivity and BeyondAggregage
 
Best ui ux design agency
Best ui ux design agencyBest ui ux design agency
Best ui ux design agencyBluebash LLC
 
Web Design: Crafting Digital Experiences
Web Design: Crafting Digital ExperiencesWeb Design: Crafting Digital Experiences
Web Design: Crafting Digital Experiencessurajmaurya260064
 
Web Designing Presentation
Web Designing PresentationWeb Designing Presentation
Web Designing PresentationRahulSuri30
 
Importance of User eXperience
Importance of User eXperienceImportance of User eXperience
Importance of User eXperienceguest1bcbc9
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFuture Insights
 
Help Wanted: Using UX to Your Advantage
Help Wanted: Using UX to Your AdvantageHelp Wanted: Using UX to Your Advantage
Help Wanted: Using UX to Your AdvantageFITC
 
UXD – What is User Experience Design?
UXD – What is User Experience Design?UXD – What is User Experience Design?
UXD – What is User Experience Design?Technosiss
 
UX Design: A Concept and Evolution
UX Design: A Concept and EvolutionUX Design: A Concept and Evolution
UX Design: A Concept and EvolutionAppsbee
 
Best Search Engine Optimization Online Course
Best Search Engine Optimization Online CourseBest Search Engine Optimization Online Course
Best Search Engine Optimization Online CourseScholar studysolution
 
Best Prototyping Tools for Mobile Apps in 2023
Best Prototyping Tools for Mobile Apps in 2023Best Prototyping Tools for Mobile Apps in 2023
Best Prototyping Tools for Mobile Apps in 2023Baek Yongsun
 
Website Design Workflow - Stephen B. Starr Design, Inc.
Website Design Workflow - Stephen B. Starr Design, Inc.Website Design Workflow - Stephen B. Starr Design, Inc.
Website Design Workflow - Stephen B. Starr Design, Inc.Stephen B. Starr Design, Inc.
 
Strategy for a Responsive UX
Strategy for a Responsive UXStrategy for a Responsive UX
Strategy for a Responsive UXNuno MB Rodrigues
 

Similar a Rich UI Design: An Access Oriented Approach Sc For Ss.Key (20)

User Experience and WordPress
User Experience and WordPressUser Experience and WordPress
User Experience and WordPress
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive Design
 
User experience. What is it anyway?
User experience. What is it anyway?User experience. What is it anyway?
User experience. What is it anyway?
 
The Developer Identity – Style & Class Edition
The Developer Identity – Style & Class EditionThe Developer Identity – Style & Class Edition
The Developer Identity – Style & Class Edition
 
Achieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UIAchieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UI
 
The Design Mind: Web Design for All: Accessibility, Inclusivity and Beyond
The Design Mind: Web Design for All: Accessibility, Inclusivity and BeyondThe Design Mind: Web Design for All: Accessibility, Inclusivity and Beyond
The Design Mind: Web Design for All: Accessibility, Inclusivity and Beyond
 
Best ui ux design agency
Best ui ux design agencyBest ui ux design agency
Best ui ux design agency
 
Web Design: Crafting Digital Experiences
Web Design: Crafting Digital ExperiencesWeb Design: Crafting Digital Experiences
Web Design: Crafting Digital Experiences
 
Angular JS - UI Development Online Training
Angular JS - UI Development Online TrainingAngular JS - UI Development Online Training
Angular JS - UI Development Online Training
 
Web Designing Presentation
Web Designing PresentationWeb Designing Presentation
Web Designing Presentation
 
Importance of User eXperience
Importance of User eXperienceImportance of User eXperience
Importance of User eXperience
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon Deaner
 
Help Wanted: Using UX to Your Advantage
Help Wanted: Using UX to Your AdvantageHelp Wanted: Using UX to Your Advantage
Help Wanted: Using UX to Your Advantage
 
UXD – What is User Experience Design?
UXD – What is User Experience Design?UXD – What is User Experience Design?
UXD – What is User Experience Design?
 
Web development
Web developmentWeb development
Web development
 
UX Design: A Concept and Evolution
UX Design: A Concept and EvolutionUX Design: A Concept and Evolution
UX Design: A Concept and Evolution
 
Best Search Engine Optimization Online Course
Best Search Engine Optimization Online CourseBest Search Engine Optimization Online Course
Best Search Engine Optimization Online Course
 
Best Prototyping Tools for Mobile Apps in 2023
Best Prototyping Tools for Mobile Apps in 2023Best Prototyping Tools for Mobile Apps in 2023
Best Prototyping Tools for Mobile Apps in 2023
 
Website Design Workflow - Stephen B. Starr Design, Inc.
Website Design Workflow - Stephen B. Starr Design, Inc.Website Design Workflow - Stephen B. Starr Design, Inc.
Website Design Workflow - Stephen B. Starr Design, Inc.
 
Strategy for a Responsive UX
Strategy for a Responsive UXStrategy for a Responsive UX
Strategy for a Responsive UX
 

Último

Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppNadaMohammed714321
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine CharlottePulte
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioRMG Project Studio
 
10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designersPixeldarts
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Associazione Digital Days
 
guest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssguest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssNadaMohammed714321
 
world health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbworld health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbpreetirao780
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...Rishabh Aryan
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic global solution
 
General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxmarckustrevion
 
10 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 202410 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 2024digital learning point
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyChristopher Totten
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfneelspinoy
 
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptMaking and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptJIT KUMAR GUPTA
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxNitish292041
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks CharlottePulte
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfAayushChavan5
 
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfsimpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfLucyBonelli
 

Último (20)

Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 ppppppppppppppp
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project Studio
 
10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers10 must-have Chrome extensions for designers
10 must-have Chrome extensions for designers
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
 
guest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssssguest bathroom white and blue ssssssssss
guest bathroom white and blue ssssssssss
 
world health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbbworld health day 2024.pptxgbbvggvbhjjjbbbb
world health day 2024.pptxgbbvggvbhjjjbbbb
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing services
 
General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptx
 
10 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 202410 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 2024
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenology
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdf
 
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.pptMaking and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
Making and Unmaking of Chandigarh - A City of Two Plans2-4-24.ppt
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdf
 
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdfsimpson-lee_house_dt20ajshsjsjsjsjj15.pdf
simpson-lee_house_dt20ajshsjsjsjsjj15.pdf
 

Rich UI Design: An Access Oriented Approach Sc For Ss.Key

  • 1. Rich UI Design: An Access-Oriented Scott Jehl, Designer / Developer
  • 2. hello. Rich UI Design: An Access-Oriented Approach
  • 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
  • 5. Clean, semantic HTML Rich UI Design: An Access-Oriented Approach
  • 6. Unobtrusive JS & CSS Rich UI Design: An Access-Oriented Approach
  • 7. Avoid CSS hacks conditional comments (if necessary) Rich UI Design: An Access-Oriented Approach
  • 8. Flexible Units Rich UI Design: An Access-Oriented Approach
  • 9. test in all the popular browsers Rich UI Design: An Access-Oriented Approach
  • 10. Accessible Hiding Rich UI Design: An Access-Oriented Approach
  • 11. test on a screenreader Rich UI Design: An Access-Oriented Approach
  • 12. NVDA: <h1>You sound like a drunk person in a karaoke bar!</h1> Rich UI Design: An Access-Oriented Approach
  • 13. NVDA: <h1>You sound like a drunk person in a karaoke bar!</h1> Rich UI Design: An Access-Oriented Approach
  • 14. the promise of PE: Rich UI Design: An Access-Oriented Approach
  • 15. the promise of PE: Works OK for everyone! Rich UI Design: An Access-Oriented Approach
  • 16. right? Rich UI Design: An Access-Oriented Approach
  • 17. that’s the theory anyway. Rich UI Design: An Access-Oriented Approach
  • 18. many browsers partially understand... Rich UI Design: An Access-Oriented Approach
  • 19. more like... progressive mischancement! ...disenchantment? ...is this thing on? Rich UI Design: An Access-Oriented Approach
  • 20. HTML works everywhere* * Pretty much Rich UI Design: An Access-Oriented Approach
  • 21. Images, CSS, JS are extras will break (badly) somewhere Rich UI Design: An Access-Oriented Approach
  • 22. for example Rich UI Design: An Access-Oriented Approach
  • 23. Northface.com Rich UI Design: An Access-Oriented Approach
  • 24. Northface.com IE 5 Rich UI Design: An Access-Oriented Approach
  • 25. Cappuccino Framework Demo Rich UI Design: An Access-Oriented Approach
  • 26. Cappuccino Framework Demo Without JavaScript Rich UI Design: An Access-Oriented Approach
  • 27. eek. (fixed in dev) Rich UI Design: An Access-Oriented Approach
  • 28. All or Nothing frankly, sucks. Rich UI Design: An Access-Oriented Approach
  • 29. what’s a web designer to do? Rich UI Design: An Access-Oriented Approach
  • 30. one way to approach the problem... Rich UI Design: An Access-Oriented Approach
  • 31. Rich UI Design: An Access-Oriented Approach
  • 32. nice if you have the resources support it... Rich UI Design: An Access-Oriented Approach
  • 33. a more practical approach: Rich UI Design: An Access-Oriented Approach
  • 34. One page, many experiences Rich UI Design: An Access-Oriented Approach
  • 35. Slick here: Still works here: Rich UI Design: An Access-Oriented Approach
  • 36. everyone gets a usable, functional experience: Rich UI Design: An Access-Oriented Approach
  • 37. some get an even better one! Rich UI Design: An Access-Oriented Approach
  • 38. integrating an Access-Oriented Rich UI Design: An Access-Oriented Approach
  • 39. please God no. Rich UI Design: An Access-Oriented Approach
  • 40. not that access. Rich UI Design: An Access-Oriented Approach
  • 41. Access-Oriented Web Design Consider universal access Rich UI Design: An Access-Oriented Approach
  • 42. Take an inclusive approach! “...To progress, we must change the way we approach this task.” Rich UI Design: An Access-Oriented Approach
  • 43. how’s do we do it? Rich UI Design: An Access-Oriented Approach
  • 44. here’s how... Capabilities So you think you can enhance? Rich UI Design: An Access-Oriented Approach
  • 45. Test Capabilities Basic Experience Enhanced Experience 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
  • 63. enhance.js Available at FilamentGroup.com/lab/ Rich UI Design: An Access-Oriented Approach
  • 64. Let’s get to the demos Rich UI Design: An Access-Oriented Approach
  • 65. introducing... Our Demo Page Rich UI Design: An Access-Oriented Approach
  • 66. Rich UI Design: An Access-Oriented Approach
  • 67. Rich UI Design: An Access-Oriented Approach
  • 68. the foundation... Simple, Meaningful, ...and a little stylish too Rich UI Design: An Access-Oriented Approach
  • 69. breaking down a design comp Rich UI Design: An Access-Oriented Approach
  • 70. Rich UI Design: An Access-Oriented Approach
  • 71. <option> <table> <li> <h2> <dl> <legend> <ol> This is your <p> database <ul> <h1> <label> <select> <h3> <textarea> <input> Rich UI Design: An Access-Oriented Approach
  • 72. date picker control HTML: <input type=“text” /> Rich UI Design: An Access-Oriented Approach
  • 73. custom select menus HTML: <select> Rich UI Design: An Access-Oriented Approach
  • 74. slider controls HTML: <select> Rich UI Design: An Access-Oriented Approach
  • 75. custom radio HTML: <input type=“radio” /> Rich UI Design: An Access-Oriented Approach
  • 76. custom checkbox HTML: <input type=“checkbox” /> Rich UI Design: An Access-Oriented Approach
  • 77. custom submit button HTML: <input type=“submit” /> Rich UI Design: An Access-Oriented Approach
  • 78. data charts HTML: <table> Rich UI Design: An Access-Oriented Approach
  • 79. Rich UI Design: An Access-Oriented Approach
  • 80. a little <style> is OK (where it’s safe) Rich UI Design: An Access-Oriented Approach
  • 81. Unsafe Basic CSS floats reversed text background images positioning Rich UI Design: An Access-Oriented Approach
  • 82. Rich UI Design: An Access-Oriented Approach
  • 83. Rich UI Design: An Access-Oriented Approach
  • 84. the upgrade... Enhancing the with UI transformations, keyboard support, ARIA Rich UI Design: An Access-Oriented Approach
  • 85. first, let’s quickly set up the test Rich UI Design: An Access-Oriented Approach
  • 86. <link rel="stylesheet" type="text/css" href="css/basic.css" /> <script src="js/enhance.js" type="text/javascript"></script> <script type="text/javascript"> enhance({ loadStyles: ['enhanced.css'], loadScripts: ['enhanced.js'] }); </script> Rich UI Design: An Access-Oriented Approach
  • 87. adding some components Rich UI Design: An Access-Oriented Approach
  • 88. Rich UI Design: An Access-Oriented Approach
  • 89. first, we add first, add to the enhanced.js file Rich UI Design: An Access-Oriented Approach
  • 90. datepicker plugin JS: $(‘input’).datepicker(); Rich UI Design: An Access-Oriented Approach
  • 91. jQuery dom ready $(document).ready(function(){ //our scripting goes here! }); Rich UI Design: An Access-Oriented Approach
  • 92. selectmenu plugin JS: $(‘select’).selectmenu(); Rich UI Design: An Access-Oriented Approach
  • 93. select-to-slider plugin JS: $(‘select’).selectToUISlider(); Rich UI Design: An Access-Oriented Approach
  • 94. custom radio plugin JS: $(‘input’).customInput(); Rich UI Design: An Access-Oriented Approach
  • 95. custom checkbox plugin JS: $(‘input’).customInput(); Rich UI Design: An Access-Oriented Approach
  • 96. input-to-button plugin JS: $(‘input’).inputToButton(); Rich UI Design: An Access-Oriented Approach
  • 97. visualize plugin JS: $(‘table’).visualize(); Rich UI Design: An Access-Oriented Approach
  • 98. Rich UI Design: An Access-Oriented Approach
  • 99. Rich UI Design: An Access-Oriented Approach
  • 100. some tips for Rolling your Own Rich UI Design: An Access-Oriented Approach
  • 101. replicate before you extend! Rich UI Design: An Access-Oriented Approach
  • 102. scrape and repurpose Rich UI Design: An Access-Oriented Approach
  • 103. proxy back to the native control Rich UI Design: An Access-Oriented Approach
  • 104. follow native conventions and user expections Rich UI Design: An Access-Oriented Approach
  • 105. consider the mouse optional Rich UI Design: An Access-Oriented Approach
  • 106. keyboard basics Rich UI Design: An Access-Oriented Approach
  • 107. tab between components Rich UI Design: An Access-Oriented Approach
  • 108. arrow, space, enter, other within components Rich UI Design: An Access-Oriented Approach
  • 109. tabindex 0 vs. -1 vs. N Rich UI Design: An Access-Oriented Approach
  • 110. Keyboard Access Guidelines “DHTML STYLE GUIDE” http://dev.aol.com/dhtml_style_guide Rich UI Design: An Access-Oriented Approach
  • 111. keyboard support alone won’t be enough. Window Eyes Rich UI Design: An Access-Oriented Approach
  • 112. integrating WAI-ARIA support Rich UI Design: An Access-Oriented Approach
  • 113. many controls are beyond HTML’s vocab Rich UI Design: An Access-Oriented Approach
  • 114. landmarks banner, main, navigation roles tree, slider, tabs states aria-expanded, aria-checked Rich UI Design: An Access-Oriented Approach
  • 115. Adding ARIA to the jQuery UI Slider Rich UI Design: An Access-Oriented Approach
  • 116. Existing Markup <div class="ui-slider"> <a href="#" class="ui-slider-handle" style="left: 38%;"></a> </div> Rich UI Design: An Access-Oriented Approach
  • 117. “number link” - Jaws Rich UI Design: An Access-Oriented Approach
  • 118. “Number link” <div class="ui-slider"> <a href="#" class="ui-slider- Rich UI Design: An Access-Oriented Approach
  • 119. Adding ARIA Rich UI Design: An Access-Oriented Approach
  • 120. Modified Markup <div role=”application” class="ui-slider"> <a href="#" class="ui-slider-handle" style="left: 38%;" role=”slider” aria-valuemin=”0” aria-valuemax”100” aria-valuenow=”38” aria-valuetext=”38%”> </a> </div> Rich UI Design: An Access-Oriented Approach
  • 121. “slider control: 38 percent. Use arrows to move handle” - Jaws Rich UI Design: An Access-Oriented Approach
  • 122. the result... Putting it All Together Let’s see this thing in action! Rich UI Design: An Access-Oriented Approach
  • 123. Rich UI Design: An Access-Oriented Approach
  • 124. Rich UI Design: An Access-Oriented Approach
  • 125. the end... Thanks for links and such, visit filamentgroup.com/lab Rich UI Design: An Access-Oriented Approach