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

Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdfSwaraliBorhade
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...home
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...Suhani Kapoor
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
A level Digipak development Presentation
A level Digipak development PresentationA level Digipak development Presentation
A level Digipak development Presentationamedia6
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Narsimha murthy
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiSuhani Kapoor
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...Call Girls in Nagpur High Profile
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`dajasot375
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️soniya singh
 
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Yantram Animation Studio Corporation
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Douxkojalkojal131
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsCharles Obaleagbon
 
MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Constructionmbermudez3
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonDelhi Call girls
 

Último (20)

Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
A level Digipak development Presentation
A level Digipak development PresentationA level Digipak development Presentation
A level Digipak development Presentation
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
 
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
Captivating Charm: Exploring Marseille's Hillside Villas with Our 3D Architec...
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past Questions
 
MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Construction
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
 

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