4 milestones to create an accessible widget

Logo Nothing AG

1) HTML, 2) interactivity, 3) accessibility, 4) visuals

Nothing AG, Berne

Plain HTML

Milestone 1

M-1: Briefing

  • Task: Implement the form controls needed for an autocomplete!
     
  • What form elements?
    • Filter: <input type="text" />
    • Suggestions: group of <input type="radio" />
       
  • Let's implement! (Only HTML at this stage!)
     
  • More info:
Breakout session

M-1: Debriefing and discussion

  • Who wants to demonstrate?
    • What has been easy, obvious?
    • What has been hard, unclear?
Woman raising her hands in success in front of computer

Providing interactivity

Milestone 2

M-2: Briefing

  • Task: Implement interaction between form controls!
    • Keep them in sync
  • What exactly?
    • Apply entered filter to radio buttons (toggle visibility)
    • Move selection using Up/Down
    • Reset selection using Esc (unset selected radio)
    • Apply clicked radio to filter
  • Go! Implement! (With JavaScript)
    • Keyboard focus stays in filter <input>
  • More info:
Breakout session

M-2: Debriefing and discussion

  • Who wants to demonstrate?
    • What has been easy, obvious?
    • What has been hard, unclear?
Woman raising her hands in success in front of computer

Enhancing accessibility

Milestone 3

M-3: Briefing

  • Optimise solution for screen readers
    • According to 3 commandments
  • Meaning must be clear: "This is an autocomplete"
  • Interaction must be clear:
    • With keyboard and touch
  • Feedback must be given:
    • "2 suggestions available for X"
    • "Y selected"
    • "3 suggestions in total"
  • Go! Implement! (Yes, with ARIA)
  • More info:
    • ADG: Knowledge > ARIA
Breakout session

M-3: Debriefing and discussion

  • Who wants to demonstrate?
    • What has been easy, obvious?
    • What has been hard, unclear?
Woman raising her hands in success in front of computer

Adding fancy styles

Milestone 4

M-4: Briefing

  • Add styles and style-related interactivity to resemble an autocomplete!
    • According to 3 commandments
       
  • What exactly?
    • Fancy styles!
    • Show/hide suggestions
      (Focus-in/Focus-out/Up/Down/ Enter/Space/Esc)
       
  • Go! Implement! (Yes, with CSS - and some more JavaScript)
Breakout session

M-4: Debriefing and discussion

  • Who wants to demonstrate?
    • What has been easy, obvious?
    • What has been hard, unclear?
Woman raising her hands in success in front of computer

Drawing conclusions

And now...

Was that so hard?

  • Again: plain HTML offers a lot
     
  • Offering good interactivity is UX
  • Offering instructions/feedback is UX
     
  • Good UX can be turned easily into accessibility
  • The biggest parts were general interactivity (~230 lines of
    JavaScript) and visuals (~60 lines of CSS)
Thinking face

And if so: what was the hardest part?

Was that so hard?

  • Again: plain HTML offers a lot
     
  • Offering good interactivity is UX
  • Offering instructions/feedback is UX
     
  • Good UX can be turned easily into accessibility
  • The biggest parts were general interactivity (~230 lines of
    JavaScript) and visuals (~60 lines of CSS)
Thinking face

And if so: what was the hardest part?

If in projects only a fraction of the energy was invested in accessibility, which is used for UX and visuals...!

Thank you!

Logo Nothing AG

Reach out: josua@nothing.ch

Coffee break
Portrait of Josua Muheim

Our services: nothing.ch/accessibility

Nothing AG - We are unlocking human potential through technology.

4 milestones to create an accessible widget

By Nothing

4 milestones to create an accessible widget

  • 68