SlideShare a Scribd company logo
1 of 68
Download to read offline
BBC Olympics
An accessibility case study
Alistair Duggin
London Web Standards - September 2013
Tuesday, 17 September 13
BBC Olympics Introduction
Alistair Duggin,
Lead Front End Developer,
BBC Sport Olympics Desktop Website
> About the Project
> Challenges
> Desktop and Tablet
> Lessons Learnt
Tuesday, 17 September 13
About the Project
Tuesday, 17 September 13
BBC Olympics About the Project
The first truly digital Olympics.
Never miss a moment
Tuesday, 17 September 13
The most ambitious and comprehensive BBC digital project to date
Live and catch-up video at the heart of the BBC’s online coverage
24 high definition live streams
2500 hours of video coverage
Delivered to mobile, tablet, PC, and Connected TV
The first truly digital Olympics where the public would be able to never miss a moment
“Our aspiration was that just as the Coronation did for TV in
1953, the Olympics would do for digital in 2012
Phil Fearnley, General Manager, News & Knowledge at BBC
Tuesday, 17 September 13
BBC Olympics About the Project
Built around the sports domain
Athlete
Usain Bolt
Event
Men’s 100m
Sport
Athletics
Venue
Olympic Stadium
Country
Jamaica
Tuesday, 17 September 13
Interconnected nodes
Athlete - e.g Usain Bolt
Country - e.g Jamaica
Sport - e.g Athletics
Event - e.g Men’s 100m
Venue - Olympic Stadium
BBC Olympics About the Project
> 10, 000 Athlete
> 205 Countries
> 36 Sports
> 304 Medal Winning Events
> 30Venues
A page per domain item
... all interconnected
Tuesday, 17 September 13
Tuesday, 17 September 13
Page composed of components, including:
Facts and Figures
News
Video
Medals
Schedule
Results
BBC Olympics About the Project
Lots of other components
Tuesday, 17 September 13
Make the experience as rich, engaging and interactive as possible.
Top trump style comparison components for countries athletes
Twitter modules
Components to promote live video streams
Carousel of to promote athletes and results
Tuesday, 17 September 13
Each page type had an index page.
Countries.
Tuesday, 17 September 13
Athletes - and the ability to filter by sport, event
Tuesday, 17 September 13
Venues
Tuesday, 17 September 13
Sports
Tuesday, 17 September 13
An event index for each
sport
Tuesday, 17 September 13
2 versions of a fully comprehensive schedule - a grid and a list view - providing alternative ways to get to the schedule information
that you wanted.
The schedule grid view provided an easily scannable visual interface
Tuesday, 17 September 13
The schedule list view provided a more accessible text interface
Tuesday, 17 September 13
The schedule allowed users to dig in and browse by sport
Tuesday, 17 September 13
or by day
Tuesday, 17 September 13
We also had Interactive medal tables.
That allowed users to browser medals by country
Tuesday, 17 September 13
medal by
sport
Tuesday, 17 September 13
And medals by
athlete
These pages were dynamically updated in real time
using data from the Olympics Broadcasting Service.
Tuesday, 17 September 13
Tuesday, 17 September 13
Other features included the interactive video player to watch live and on-demand video
Tuesday, 17 September 13
A results section, providing by a 3rd Party, that contained details of every heat of every event.
Tuesday, 17 September 13
And of course the sport news sections with content created by journalists.
This was an existing part of the website that we just added branding to.
Tuesday, 17 September 13
Article
pages
Tuesday, 17 September 13
Video
clips
Tuesday, 17 September 13
Image
galleries
Tuesday, 17 September 13
Live event commentary
Tuesday, 17 September 13
Lots of this was also available on mobile
Tuesday, 17 September 13
And all video and medals were available on connected TV
24 high definition live streams
2500 hours of video coverage
Tens of thousands of pages ...
Tuesday, 17 September 13
possibly hundreds....
BBC Olympics About the Project
Usage and Stats
> 37 million UK browsers
> 66% UK online adult population
> 57m global browses
> 111m video requests across all platforms
Tuesday, 17 September 13
We knew the website was going to be popular - but I don’t think anyone imagined it would be quite the success it was.
Challenges
Tuesday, 17 September 13
BBC Olympics Challenges
Developer challenges ...
Accessible to all
> Size of project
> Immovable deadline
> 17 day event
> Huge audience
> High Profile
> Real-time data
> Up front design
> Lots of javascript
> Multiple teams
> Mixed knowledge of accessibility on teams
Tuesday, 17 September 13
Huge amount of effort going into to making it available on many platforms.
On the desktop we wanted to make sure it was accessible to all - irrespective of people’s device or ability. First project I’ve worked
on where this was made a clear priority right from the very top.
Australian olympics website had been sued in 2004 for being inaccessible.
Easier said than done.
BBC Olympics Challenges
What is accessibility?
A range of capabilities
> Visual
> Auditory
> Motor
> Cognitive
Characteristics of accessibility
> Perceivable
> Operable
> Understandable
> Robust
Tuesday, 17 September 13
Web accessibility refers to the inclusive practice of making websites usable by people of all abilities and disabilities - irrespective of
the device they are using
Desktop and Tablet
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
The Development approach
> Build with accessibility in mind - from the start
> Speak to specialists early
> Training - screen readers,WAI-ARIA
> Set up a support network and share best practices
> Front-end developers create UI before integration
> Brainstorm multiple solutions and seek feedback
> Agile
> Test thoroughly
> Component library
> Web Standards and Progressive Enhancement
Tuesday, 17 September 13
Screen reader training with AbilityNet
Aria, javascript and HTML5 training with The Paciello Group - based around upcoming components
Support forum for a month - to answer questions
Work with milestones: test early, test often
Tuesday, 17 September 13
One of the first things we did when was analyse the designs looking for common styles and patterns that could be abstracted out
into reusable code.
This helps you build things faster.
Also helps a consistency of implementation which is better for users
Tuesday, 17 September 13
The other thing we did was build each component in such a way that it could be dropped into any page.
Much quicker to build a site from reusable components. Having a library also promotes reuse and consistency of implementation.
This started as just a static library (HTML and CSS) - but evolved into components that used mock data. This meant we could get
components to load different variation of expected data so we could confirm that they worked for all expected scenarios.
This helped hugely with testing. Could point testers to a page and get them to confirm that they worked as expected. Also meant
that we could ask Henny to test things as soon as they were built - rather than having to wait for the components to appear on web
pages that were being driven by test data.
BBC Olympics Desktop and Tablet
> HTML5 doctype
> Lang attribute
> Skips links
> Unique title
> Unique h1
> WAI-ARIA landmark roles
Page Templates
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
Web standards and
Progressive Enhancement
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web
page
BBC Olympics Desktop and Tablet
> Add content in logical order
> Alt text for images that need it
> Captions for tables
> Full text for abbreviations
Content
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
> Use most appropriate elements
> Add hierarchical heading structure
> Add content images
> Don’t duplicate links
> Links make sense out of context
> Code tables correctly
> Code forms correctly
> ARIA roles & attributes where useful
> Validate
Core functionality available through links and forms
HTML
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
Semantically structured
HTML
BBC Olympics Desktop and Tablet
> Implement non-js layout
> Take care with display:none
> Focus aswell as hover - no outline:0
> Font size +2
> Don’t use !important
> Check Font size +2
> Check for colour contrast
> Check with images off
> Check visual state is also in content
layer
CSS
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
Take care to not implement barriers with CSS
BBC Olympics Desktop and Tablet
> Feature detection
> Valid JS generated HTML
> Update state labels - open/close
> Hijax - http before ajax
> Update screenreader virtual buffer
> Check keyboard access to all
content
> Check no keyboard traps
JavaScript
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
> Contextual CSS body=”js”
> Prevent flicker as js loads
CSS for Javascript
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
> Keep users informed (live regions)
> Manage focus (tabindex 0 and -1)
> Implement keyboard controls
> Use appropriate WAI-ARIA
attributes - roles, states and
properties
> Provide hidden instructions
WAI-ARIA for Javascript
Content
HTML & WAI-ARIA
CSS
JavaScript & HTML
CSS for Javascript
WAI-ARIA for Javascript
Tuesday, 17 September 13
Keep users informed - loading, new content
Treat aria as an enhancement - not widespread support or familiarity by users
Tuesday, 17 September 13
Sometimes not possible to have a non-js version
- schedule module
- favourites tray
That’s fine - you need to be pragmatic!
Follow as similar approach though - content in logical order, semantic and valid markup, avoid css gotchas, manage keyboard focus
etc
Tuesday, 17 September 13
Interactive Medal Tables
* Built to work without javascript.
* deliver something quickly.
* real pages that you can bookmark and email
* if there is an error it will still work
* Logical Content order - go to any page without javascript and the content is in logical order.
* Most appropriate markup - <th> for countries, caption and summary
* Identify which content is selected in content layer as well as visual layer.
* Alt for medal images
* Visible active state for keyboard users
* Keyboard short cuts
* Inform users that content is loading
* Users taken to loaded content
* Use Browser API so back button still works
BBC Olympics Desktop and Tablet
Issues we fixed...
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
Fixed: Colour contrast
Tuesday, 17 September 13
Problem - Design/CSS
Failed colour contrast test
Fix:
Changed colours
BBC Olympics Desktop and Tablet
Fixed: Over complicated markup
Tuesday, 17 September 13
PROBLEM: HTML
Aural clutter - headings inside lists
FIX:
Refactor HTML
BBC Olympics Desktop and Tablet
Fixed: Broken navigation when resized
Tuesday, 17 September 13
Problem - Design/CSS
Failed colour contrast test
Fix:
Changed colours
BBC Olympics Desktop and Tablet
Fixed: Favourite Button
Tuesday, 17 September 13
Problem: HTML generated by JS
span used instead of div - can’t receive keyboard focus
Fix:
Feedback issue - got them to use a button
BBC Olympics Desktop and Tablet
Fixed: Keyboard inaccessible video clips
Tuesday, 17 September 13
Problem: JS generating span instead of link
Unable to play video with keyboard as span used instead of button
Fix:
Added in a link to control video
BBC Olympics Desktop and Tablet
Fixed: Keyboard trap
Tuesday, 17 September 13
Problem: JS
Infinite scroll resulted in keyboard trap
BBC Olympics Desktop and Tablet
Issues that got released...
Tuesday, 17 September 13
BBC Olympics Desktop and Tablet
Compromise: Colour only medals
Tuesday, 17 September 13
Problem: medal communicated by colour only
If colour blind won’t know what medal
Why not fixed:
Design didn’t want to change
BBC Olympics Desktop and Tablet
Compromise: Country page content order
Tuesday, 17 September 13
Problem: Design/logical content order
Design meant not in logical order
Fix:
Designers didn’t want to change design
BBC Olympics Desktop and Tablet
Compromise: Indistinguishable Links
Tuesday, 17 September 13
Problem: Design/CSS
Can’t see links until you roll over them
Why not fixed:
Changed by another team due to request from design. Ran out of time to chase up.
BBC Olympics Desktop and Tablet
Compromise: Info graphics
<img src=”rivals.jpg”
alt=”Bolt graphic” />
Tuesday, 17 September 13
Problem: adequate alternate text not provided
Lots of information in graphic - editorial didn’t include adequate descriptive alt text
BBC Olympics Desktop and Tablet
Compromise: Auto Suggest not read out
Tuesday, 17 September 13
Problem: Javascript
Suggested athletes not read out
Why not fixed:
Not part of stable release of jquery ui. Ran out of time.
BBC Olympics Desktop and Tablet
Compromise: Auto refresh
Tuesday, 17 September 13
Problem: JS
Can’t turn off auto-refresh
Completely unusable by screen reader user
Use of non-semantic markup
Why not fixed:
Built by an3rd Party. Fed back issues but they didn’t have time/inclination to fix
Lessons Learnt
Tuesday, 17 September 13
BBC Olympics Access services
Lessons Learnt
> Team effort - every role has a responsibility
> Easy to introduce issues at all levels
> Collaborate
> Seek help from specialists
> Progressive Enhancement is good
> Test early and often
> 100% accessible not realistic - need to prioritise
> Accessibility does not have to compromise design
Tuesday, 17 September 13
You don’t need to compromise design for accessibility
Alistair Duggin
http://alistairduggin.co.uk/
@dugboticus
Tuesday, 17 September 13
Tuesday, 17 September 13

More Related Content

Viewers also liked

WCAG 2.0 for Designers
WCAG 2.0 for DesignersWCAG 2.0 for Designers
WCAG 2.0 for DesignersBrunner
 
The Velvet Rope - making user experience accessible
The Velvet Rope - making user experience accessibleThe Velvet Rope - making user experience accessible
The Velvet Rope - making user experience accessibleHenny Swan
 
2017 CSUN Color Contrast
2017 CSUN Color Contrast2017 CSUN Color Contrast
2017 CSUN Color ContrastCrystal Baker
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Adrian Roselli
 
Implementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility TorontoImplementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility TorontoAdrian Roselli
 
Accessibility and Design: Where Productivity and Philosophy Meet
Accessibility and Design:  Where Productivity and Philosophy MeetAccessibility and Design:  Where Productivity and Philosophy Meet
Accessibility and Design: Where Productivity and Philosophy MeetJoe Lonsky
 

Viewers also liked (7)

WCAG 2.0 for Designers
WCAG 2.0 for DesignersWCAG 2.0 for Designers
WCAG 2.0 for Designers
 
The Velvet Rope - making user experience accessible
The Velvet Rope - making user experience accessibleThe Velvet Rope - making user experience accessible
The Velvet Rope - making user experience accessible
 
2017 CSUN Color Contrast
2017 CSUN Color Contrast2017 CSUN Color Contrast
2017 CSUN Color Contrast
 
Accessible Responsive Web Design
Accessible Responsive Web DesignAccessible Responsive Web Design
Accessible Responsive Web Design
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
 
Implementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility TorontoImplementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility Toronto
 
Accessibility and Design: Where Productivity and Philosophy Meet
Accessibility and Design:  Where Productivity and Philosophy MeetAccessibility and Design:  Where Productivity and Philosophy Meet
Accessibility and Design: Where Productivity and Philosophy Meet
 

Similar to BBC Olympics: An accessibility case study

BBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyBBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyAlistair Duggin
 
IE9 the story so far
IE9 the story so farIE9 the story so far
IE9 the story so farthebeebs
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web DesignChristopher Schmitt
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeKen Tabor
 
HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile developmentCarlos Justiniano
 
Matt training-html-halfday
Matt training-html-halfdayMatt training-html-halfday
Matt training-html-halfdayMatthew Dobson
 
BBC Olympics: An Accessibility Study
BBC Olympics: An Accessibility StudyBBC Olympics: An Accessibility Study
BBC Olympics: An Accessibility StudyNomensa
 
Mobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityMobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityBob Marcus
 
News From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechNews From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechKevin Bruce
 
Green Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in GovernmentGreen Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in GovernmentC4Media
 
HTML5 Web Standards
HTML5 Web StandardsHTML5 Web Standards
HTML5 Web StandardsVu Tran Lam
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMWebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMBarbara Bermes
 
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay Dresden
 
Web Performance Optimization @Develer
Web Performance Optimization @DevelerWeb Performance Optimization @Develer
Web Performance Optimization @DevelerMassimo Iacolare
 
Web API Design 2013
Web API Design 2013Web API Design 2013
Web API Design 2013gidgreen
 
Building cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesBuilding cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesLetsConnect
 

Similar to BBC Olympics: An accessibility case study (20)

BBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyBBC Olympics: An accessibility case study
BBC Olympics: An accessibility case study
 
IE9 the story so far
IE9 the story so farIE9 the story so far
IE9 the story so far
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
 
HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile development
 
Matt training-html-halfday
Matt training-html-halfdayMatt training-html-halfday
Matt training-html-halfday
 
Upgrade my PaaS
Upgrade my PaaSUpgrade my PaaS
Upgrade my PaaS
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
BBC Olympics: An Accessibility Study
BBC Olympics: An Accessibility StudyBBC Olympics: An Accessibility Study
BBC Olympics: An Accessibility Study
 
Mobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityMobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented Reality
 
News From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechNews From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End Tech
 
Matt training-obj-v2
Matt training-obj-v2Matt training-obj-v2
Matt training-obj-v2
 
Green Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in GovernmentGreen Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in Government
 
HTML5 Web Standards
HTML5 Web StandardsHTML5 Web Standards
HTML5 Web Standards
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMWebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
 
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
 
Web Performance Optimization @Develer
Web Performance Optimization @DevelerWeb Performance Optimization @Develer
Web Performance Optimization @Develer
 
Web API Design 2013
Web API Design 2013Web API Design 2013
Web API Design 2013
 
Building cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesBuilding cognitive apps with Watson Work Services
Building cognitive apps with Watson Work Services
 

Recently uploaded

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Recently uploaded (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

BBC Olympics: An accessibility case study

  • 1. BBC Olympics An accessibility case study Alistair Duggin London Web Standards - September 2013 Tuesday, 17 September 13
  • 2. BBC Olympics Introduction Alistair Duggin, Lead Front End Developer, BBC Sport Olympics Desktop Website > About the Project > Challenges > Desktop and Tablet > Lessons Learnt Tuesday, 17 September 13
  • 3. About the Project Tuesday, 17 September 13
  • 4. BBC Olympics About the Project The first truly digital Olympics. Never miss a moment Tuesday, 17 September 13 The most ambitious and comprehensive BBC digital project to date Live and catch-up video at the heart of the BBC’s online coverage 24 high definition live streams 2500 hours of video coverage Delivered to mobile, tablet, PC, and Connected TV The first truly digital Olympics where the public would be able to never miss a moment
  • 5. “Our aspiration was that just as the Coronation did for TV in 1953, the Olympics would do for digital in 2012 Phil Fearnley, General Manager, News & Knowledge at BBC Tuesday, 17 September 13
  • 6. BBC Olympics About the Project Built around the sports domain Athlete Usain Bolt Event Men’s 100m Sport Athletics Venue Olympic Stadium Country Jamaica Tuesday, 17 September 13 Interconnected nodes Athlete - e.g Usain Bolt Country - e.g Jamaica Sport - e.g Athletics Event - e.g Men’s 100m Venue - Olympic Stadium
  • 7. BBC Olympics About the Project > 10, 000 Athlete > 205 Countries > 36 Sports > 304 Medal Winning Events > 30Venues A page per domain item ... all interconnected Tuesday, 17 September 13
  • 8. Tuesday, 17 September 13 Page composed of components, including: Facts and Figures News Video Medals Schedule Results
  • 9. BBC Olympics About the Project Lots of other components Tuesday, 17 September 13 Make the experience as rich, engaging and interactive as possible. Top trump style comparison components for countries athletes Twitter modules Components to promote live video streams Carousel of to promote athletes and results
  • 10. Tuesday, 17 September 13 Each page type had an index page. Countries.
  • 11. Tuesday, 17 September 13 Athletes - and the ability to filter by sport, event
  • 14. Tuesday, 17 September 13 An event index for each sport
  • 15. Tuesday, 17 September 13 2 versions of a fully comprehensive schedule - a grid and a list view - providing alternative ways to get to the schedule information that you wanted. The schedule grid view provided an easily scannable visual interface
  • 16. Tuesday, 17 September 13 The schedule list view provided a more accessible text interface
  • 17. Tuesday, 17 September 13 The schedule allowed users to dig in and browse by sport
  • 18. Tuesday, 17 September 13 or by day
  • 19. Tuesday, 17 September 13 We also had Interactive medal tables. That allowed users to browser medals by country
  • 20. Tuesday, 17 September 13 medal by sport
  • 21. Tuesday, 17 September 13 And medals by athlete
  • 22. These pages were dynamically updated in real time using data from the Olympics Broadcasting Service. Tuesday, 17 September 13
  • 23. Tuesday, 17 September 13 Other features included the interactive video player to watch live and on-demand video
  • 24. Tuesday, 17 September 13 A results section, providing by a 3rd Party, that contained details of every heat of every event.
  • 25. Tuesday, 17 September 13 And of course the sport news sections with content created by journalists. This was an existing part of the website that we just added branding to.
  • 26. Tuesday, 17 September 13 Article pages
  • 27. Tuesday, 17 September 13 Video clips
  • 28. Tuesday, 17 September 13 Image galleries
  • 29. Tuesday, 17 September 13 Live event commentary
  • 30. Tuesday, 17 September 13 Lots of this was also available on mobile
  • 31. Tuesday, 17 September 13 And all video and medals were available on connected TV 24 high definition live streams 2500 hours of video coverage
  • 32. Tens of thousands of pages ... Tuesday, 17 September 13 possibly hundreds....
  • 33. BBC Olympics About the Project Usage and Stats > 37 million UK browsers > 66% UK online adult population > 57m global browses > 111m video requests across all platforms Tuesday, 17 September 13 We knew the website was going to be popular - but I don’t think anyone imagined it would be quite the success it was.
  • 35. BBC Olympics Challenges Developer challenges ... Accessible to all > Size of project > Immovable deadline > 17 day event > Huge audience > High Profile > Real-time data > Up front design > Lots of javascript > Multiple teams > Mixed knowledge of accessibility on teams Tuesday, 17 September 13 Huge amount of effort going into to making it available on many platforms. On the desktop we wanted to make sure it was accessible to all - irrespective of people’s device or ability. First project I’ve worked on where this was made a clear priority right from the very top. Australian olympics website had been sued in 2004 for being inaccessible. Easier said than done.
  • 36. BBC Olympics Challenges What is accessibility? A range of capabilities > Visual > Auditory > Motor > Cognitive Characteristics of accessibility > Perceivable > Operable > Understandable > Robust Tuesday, 17 September 13 Web accessibility refers to the inclusive practice of making websites usable by people of all abilities and disabilities - irrespective of the device they are using
  • 37. Desktop and Tablet Tuesday, 17 September 13
  • 38. BBC Olympics Desktop and Tablet The Development approach > Build with accessibility in mind - from the start > Speak to specialists early > Training - screen readers,WAI-ARIA > Set up a support network and share best practices > Front-end developers create UI before integration > Brainstorm multiple solutions and seek feedback > Agile > Test thoroughly > Component library > Web Standards and Progressive Enhancement Tuesday, 17 September 13 Screen reader training with AbilityNet Aria, javascript and HTML5 training with The Paciello Group - based around upcoming components Support forum for a month - to answer questions Work with milestones: test early, test often
  • 39. Tuesday, 17 September 13 One of the first things we did when was analyse the designs looking for common styles and patterns that could be abstracted out into reusable code. This helps you build things faster. Also helps a consistency of implementation which is better for users
  • 40. Tuesday, 17 September 13 The other thing we did was build each component in such a way that it could be dropped into any page. Much quicker to build a site from reusable components. Having a library also promotes reuse and consistency of implementation. This started as just a static library (HTML and CSS) - but evolved into components that used mock data. This meant we could get components to load different variation of expected data so we could confirm that they worked for all expected scenarios. This helped hugely with testing. Could point testers to a page and get them to confirm that they worked as expected. Also meant that we could ask Henny to test things as soon as they were built - rather than having to wait for the components to appear on web pages that were being driven by test data.
  • 41. BBC Olympics Desktop and Tablet > HTML5 doctype > Lang attribute > Skips links > Unique title > Unique h1 > WAI-ARIA landmark roles Page Templates Tuesday, 17 September 13
  • 42. BBC Olympics Desktop and Tablet Web standards and Progressive Enhancement Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13 Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page
  • 43. BBC Olympics Desktop and Tablet > Add content in logical order > Alt text for images that need it > Captions for tables > Full text for abbreviations Content Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13
  • 44. BBC Olympics Desktop and Tablet > Use most appropriate elements > Add hierarchical heading structure > Add content images > Don’t duplicate links > Links make sense out of context > Code tables correctly > Code forms correctly > ARIA roles & attributes where useful > Validate Core functionality available through links and forms HTML Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13 Semantically structured HTML
  • 45. BBC Olympics Desktop and Tablet > Implement non-js layout > Take care with display:none > Focus aswell as hover - no outline:0 > Font size +2 > Don’t use !important > Check Font size +2 > Check for colour contrast > Check with images off > Check visual state is also in content layer CSS Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13 Take care to not implement barriers with CSS
  • 46. BBC Olympics Desktop and Tablet > Feature detection > Valid JS generated HTML > Update state labels - open/close > Hijax - http before ajax > Update screenreader virtual buffer > Check keyboard access to all content > Check no keyboard traps JavaScript Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13
  • 47. BBC Olympics Desktop and Tablet > Contextual CSS body=”js” > Prevent flicker as js loads CSS for Javascript Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13
  • 48. BBC Olympics Desktop and Tablet > Keep users informed (live regions) > Manage focus (tabindex 0 and -1) > Implement keyboard controls > Use appropriate WAI-ARIA attributes - roles, states and properties > Provide hidden instructions WAI-ARIA for Javascript Content HTML & WAI-ARIA CSS JavaScript & HTML CSS for Javascript WAI-ARIA for Javascript Tuesday, 17 September 13 Keep users informed - loading, new content Treat aria as an enhancement - not widespread support or familiarity by users
  • 49. Tuesday, 17 September 13 Sometimes not possible to have a non-js version - schedule module - favourites tray That’s fine - you need to be pragmatic! Follow as similar approach though - content in logical order, semantic and valid markup, avoid css gotchas, manage keyboard focus etc
  • 50. Tuesday, 17 September 13 Interactive Medal Tables * Built to work without javascript. * deliver something quickly. * real pages that you can bookmark and email * if there is an error it will still work * Logical Content order - go to any page without javascript and the content is in logical order. * Most appropriate markup - <th> for countries, caption and summary * Identify which content is selected in content layer as well as visual layer. * Alt for medal images * Visible active state for keyboard users * Keyboard short cuts * Inform users that content is loading * Users taken to loaded content * Use Browser API so back button still works
  • 51. BBC Olympics Desktop and Tablet Issues we fixed... Tuesday, 17 September 13
  • 52. BBC Olympics Desktop and Tablet Fixed: Colour contrast Tuesday, 17 September 13 Problem - Design/CSS Failed colour contrast test Fix: Changed colours
  • 53. BBC Olympics Desktop and Tablet Fixed: Over complicated markup Tuesday, 17 September 13 PROBLEM: HTML Aural clutter - headings inside lists FIX: Refactor HTML
  • 54. BBC Olympics Desktop and Tablet Fixed: Broken navigation when resized Tuesday, 17 September 13 Problem - Design/CSS Failed colour contrast test Fix: Changed colours
  • 55. BBC Olympics Desktop and Tablet Fixed: Favourite Button Tuesday, 17 September 13 Problem: HTML generated by JS span used instead of div - can’t receive keyboard focus Fix: Feedback issue - got them to use a button
  • 56. BBC Olympics Desktop and Tablet Fixed: Keyboard inaccessible video clips Tuesday, 17 September 13 Problem: JS generating span instead of link Unable to play video with keyboard as span used instead of button Fix: Added in a link to control video
  • 57. BBC Olympics Desktop and Tablet Fixed: Keyboard trap Tuesday, 17 September 13 Problem: JS Infinite scroll resulted in keyboard trap
  • 58. BBC Olympics Desktop and Tablet Issues that got released... Tuesday, 17 September 13
  • 59. BBC Olympics Desktop and Tablet Compromise: Colour only medals Tuesday, 17 September 13 Problem: medal communicated by colour only If colour blind won’t know what medal Why not fixed: Design didn’t want to change
  • 60. BBC Olympics Desktop and Tablet Compromise: Country page content order Tuesday, 17 September 13 Problem: Design/logical content order Design meant not in logical order Fix: Designers didn’t want to change design
  • 61. BBC Olympics Desktop and Tablet Compromise: Indistinguishable Links Tuesday, 17 September 13 Problem: Design/CSS Can’t see links until you roll over them Why not fixed: Changed by another team due to request from design. Ran out of time to chase up.
  • 62. BBC Olympics Desktop and Tablet Compromise: Info graphics <img src=”rivals.jpg” alt=”Bolt graphic” /> Tuesday, 17 September 13 Problem: adequate alternate text not provided Lots of information in graphic - editorial didn’t include adequate descriptive alt text
  • 63. BBC Olympics Desktop and Tablet Compromise: Auto Suggest not read out Tuesday, 17 September 13 Problem: Javascript Suggested athletes not read out Why not fixed: Not part of stable release of jquery ui. Ran out of time.
  • 64. BBC Olympics Desktop and Tablet Compromise: Auto refresh Tuesday, 17 September 13 Problem: JS Can’t turn off auto-refresh Completely unusable by screen reader user Use of non-semantic markup Why not fixed: Built by an3rd Party. Fed back issues but they didn’t have time/inclination to fix
  • 66. BBC Olympics Access services Lessons Learnt > Team effort - every role has a responsibility > Easy to introduce issues at all levels > Collaborate > Seek help from specialists > Progressive Enhancement is good > Test early and often > 100% accessible not realistic - need to prioritise > Accessibility does not have to compromise design Tuesday, 17 September 13 You don’t need to compromise design for accessibility

Editor's Notes

  1. The most ambitious and comprehensive BBC digital project to date Live and catch-up video at the heart of the BBC’s online coverage 24 high definition live streams2500 hours of video coverage Delivered to mobile, tablet, PC, and Connected TV The first truly digital Olympics where the public would be able to never miss a moment
  2. Interconnected nodes Athlete - e.g Usain BoltCountry - e.g JamaicaSport - e.g AthleticsEvent - e.g Men’s 100mVenue - Olympic Stadium
  3. Page composed of components, including: Facts and Figures News Video Medals Schedule Results
  4. Make the experience as rich, engaging and interactive as possible. Top trump style comparison components for countries athletes Twitter modules Components to promote live video streams Carousel of to promote athletes and results
  5. Each page type had an index page. Countries.
  6. Athletes - and the ability to filter by sport, event
  7. Venues
  8. Sports
  9. An event index for each sport
  10. 2 versions of a fully comprehensive schedule - a grid and a list view - providing alternative ways to get to the schedule information that you wanted. The schedule grid view provided an easily scannable visual interface
  11. The schedule list view provided a more accessible text interface
  12. The schedule allowed users to dig in and browse by sport
  13. or by day
  14. We also had Interactive medal tables. That allowed users to browser medals by country
  15. medal by sport
  16. And medals by athlete
  17. Other features included the interactive video player to watch live and on-demand video
  18. A results section, providing by a 3rd Party, that contained details of every heat of every event.
  19. And of course the sport news sections with content created by journalists. This was an existing part of the website that we just added branding to.
  20. Article pages
  21. Video clips
  22. Image galleries
  23. Live event commentary
  24. Lots of this was also available on mobile
  25. And all video and medals were available on connected TV 24 high definition live streams2500 hours of video coverage
  26. possibly hundreds....
  27. We knew the website was going to be popular - but I don’t think anyone imagined it would be quite the success it was.
  28. Huge amount of effort going into to making it available on many platforms. On the desktop we wanted to make sure it was accessible to all - irrespective of people’s device or ability. First project I’ve worked on where this was made a clear priority right from the very top. Australian olympics website had been sued in 2004 for being inaccessible. Easier said than done.
  29. Web accessibility refers to the inclusive practice of making websites usable by people of all abilities and disabilities - irrespective of the device they are using
  30. Screen reader training with AbilityNet Aria, javascript and HTML5 training with The Paciello Group - based around upcoming components Support forum for a month - to answer questions Work with milestones: test early, test often
  31. One of the first things we did when was analyse the designs looking for common styles and patterns that could be abstracted out into reusable code. This helps you build things faster. Also helps a consistency of implementation which is better for users
  32. The other thing we did was build each component in such a way that it could be dropped into any page. Much quicker to build a site from reusable components. Having a library also promotes reuse and consistency of implementation. This started as just a static library (HTML and CSS) - but evolved into components that used mock data. This meant we could get components to load different variation of expected data so we could confirm that they worked for all expected scenarios. This helped hugely with testing. Could point testers to a page and get them to confirm that they worked as expected. Also meant that we could ask Henny to test things as soon as they were built - rather than having to wait for the components to appear on web pages that were being driven by test data.
  33. Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page
  34. Semantically structured HTML
  35. Take care to not implement barriers with CSS
  36. Keep users informed - loading, new content Treat aria as an enhancement - not widespread support or familiarity by users
  37. Sometimes not possible to have a non-js version- schedule module- favourites tray That’s fine - you need to be pragmatic! Follow as similar approach though - content in logical order, semantic and valid markup, avoid css gotchas, manage keyboard focus etc
  38. Interactive Medal Tables * Built to work without javascript. * deliver something quickly. * real pages that you can bookmark and email * if there is an error it will still work* Logical Content order - go to any page without javascript and the content is in logical order.* Most appropriate markup - &lt;th&gt; for countries, caption and summary* Identify which content is selected in content layer as well as visual layer.* Alt for medal images* Visible active state for keyboard users * Keyboard short cuts* Inform users that content is loading* Users taken to loaded content * Use Browser API so back button still works
  39. Problem - Design/CSS Failed colour contrast test Fix: Changed colours
  40. PROBLEM: HTML Aural clutter - headings inside lists FIX: Refactor HTML
  41. Problem - Design/CSS Failed colour contrast test Fix: Changed colours
  42. Problem: HTML generated by JS span used instead of div - can’t receive keyboard focus Fix: Feedback issue - got them to use a button
  43. Problem: JS generating span instead of link Unable to play video with keyboard as span used instead of button Fix: Added in a link to control video
  44. Problem: JS Infinite scroll resulted in keyboard trap
  45. Problem: medal communicated by colour only If colour blind won’t know what medal Why not fixed: Design didn’t want to change
  46. Problem: Design/logical content order Design meant not in logical order Fix: Designers didn’t want to change design
  47. Problem: Design/CSS Can’t see links until you roll over them Why not fixed: Changed by another team due to request from design. Ran out of time to chase up.
  48. Problem: adequate alternate text not provided Lots of information in graphic - editorial didn’t include adequate descriptive alt text
  49. Problem: Javascript Suggested athletes not read out Why not fixed: Not part of stable release of jquery ui. Ran out of time.
  50. Problem: JS Can’t turn off auto-refresh Completely unusable by screen reader user Use of non-semantic markup Why not fixed: Built by an3rd Party. Fed back issues but they didn’t have time/inclination to fix
  51. You don’t need to compromise design for accessibility