Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Friendly Forms

Mobile Friendly Forms

A primer on how to tackle a mobile redesign of your web forms. Given at the HighEdWeb Pittsburgh regional conference on April 9, 2014.

Joe McGill

April 09, 2014
Tweet

More Decks by Joe McGill

Other Decks in Programming

Transcript

  1. Joe McGill (just now) “Forms exist to help USERS complete

    tasks. Make them easy and enjoyable.”
  2. The Mobile Moment @Luke (goo.gl/OQqP6B) | 1TNW (http://goo.gl/D3hOc8) • Facebook:

    101 million (78%) • Twitter: 76% of users monthly1 • Amazon: > 50% of shopping was mobile during 2013 holiday season. • Yelp: 60% of all searches (Sept. 2013)
  3. The Mobile Moment Pew (goo.gl/3O9mqh & goo.gl/lSGRhZ) 79% of 18-24

    year olds 
 in the U.S. own smartphones 74% of 12-17 year olds 
 are mobile internet users
  4. The Mobile Moment 38% of web traffic to admissions.wustl.edu was

    mobile during announcement week 
 in 2014. (+23% from 2013)
  5. Reasons to audit • Identify opportunities for improvement • Understand

    the technical/human challenges • Compare against peers • Makes you look smart to say, “I’m conducting an audit.”* ! * Not really a reason
  6. Questions to Ask • Why do we need this info?

    (#1 question) • Functional needs/tools required • Style patterns • Organization methods • HTML elements in use • Content patterns
  7. Limit Inputs < 7 Conversion rates decrease as more inputs

    are added. ! Select boxes and text areas are 
 the hardest to use. Dan ZarElla (goo.gl/RZYqSa)
  8. Use PERK To Reduce the number of inputs • Postpone


    Only ask questions when you need it • Eliminate
 If you don’t need it, don’t ask it • Reduce
 Combine Inputs or deduce from one • Keep
  9. label Location Inline Labels • Make focus obvious • Don’t

    lose context • Replace empty fields • Placeholders don’t replace labels Baymard (goo.gl/8vKh6i)
  10. Use Multi-screen Forms to Reduce Clutter ! ! ! !

    ! ! Use progress bars
 between pages
 ! ! ! ! ! ! Hide steps behind accordions
  11. Use appropriate inputs • Use checkboxes for yes/no and 


    true/false inputs • Use radios If a person has to select an option (and set smart defaults) • Use selects instead of radios when users are selecting from greater 
 than 3 items
  12. Make Completion Obvious • Buttons should look like buttons •

    Make primary actions stand out using size, color or contrast • Place primary actions in the path of completion
  13. Flexible Styles • Use CSS instead of tables to align

    
 your forms • Set inputs to max-width: 100% in your CSS to make inputs flexible • Mobile frameworks like Bootstrap or Foundation are good references
  14. Eliminate distractions, detours and Dead ends • Provide help text

    when a question is uncommon or unnerving • Don’t interrupt the flow 
 by incentivizing exits (e.g. coupon codes) • Provide inline validation to cut down on mistakes and backtracking
  15. Validation Tips • Validate and normalize inputs when a user

    exits focus • Make errors obvious so they’re easy 
 to correct • Save progress after an error • Remove captchas!!
  16. Captchas are evil • They take users 9+ seconds to

    solve
 Stanford Study (goo.gl/8vKh6i) • Increased fail rate
 moz.com (goo.gl/MxHjKc) • Only use spam filtering if you have a spam problem
  17. Be mindful of accessibility • Good accessibility is good usability

    • Test from different input devices (mouse, keyboard, touch, voice) • Use ARIA Role Tags as an way to make accessible forms MORE accessible
  18. USE HTML5 Input types • HTML5 introduced new input types:

    (search, email, url, date, tel …) • Gives browsers more info about the data you’re expecting: • Custom UI controls • Better Mobile Keyboards • Automatic Validation • Old browsers treat them like `text` HTML5 Doctor (goo.gl/XJmUsZ)
  19. Progressive enhancement Test for features instead of 
 browser detection

    ! • History of the browser uA string
 WebAIM (goo.gl/fK13Fh) • Cutting the mustard
 BBC (goo.gl/Zd1BxX) • Grade components, not browsers Filament Group (goo.gl/GMHKvo)