bbc olympics: an accessibility case study
DESCRIPTION
Presented at London Web Standards September 16th 2013TRANSCRIPT
BBC OlympicsAn 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 dateLive and catch-up video at the heart of the BBC’s online coverage24 high definition live streams2500 hours of video coverageDelivered to mobile, tablet, PC, and Connected TVThe 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 2012Phil Fearnley, General Manager, News & Knowledge at BBC
Tuesday, 17 September 13
BBC Olympics About the Project
Built around the sports domain
AthleteUsain Bolt
EventMen’s 100m
SportAthletics
VenueOlympic Stadium
CountryJamaica
Tuesday, 17 September 13
Interconnected nodesAthlete - e.g Usain BoltCountry - e.g JamaicaSport - e.g AthleticsEvent - e.g Men’s 100mVenue - Olympic Stadium
BBC Olympics About the Project
> 10, 000 Athlete> 205 Countries> 36 Sports> 304 Medal Winning Events> 30 Venues
A page per domain item
... all interconnected
Tuesday, 17 September 13
Tuesday, 17 September 13
Page composed of components, including:Facts and FiguresNewsVideo MedalsScheduleResults
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 athletesTwitter modulesComponents to promote live video streamsCarousel 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 streams2500 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 AbilityNetAria, javascript and HTML5 training with The Paciello Group - based around upcoming componentsSupport 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/CSSFailed colour contrast test
Fix:Changed colours
BBC Olympics Desktop and Tablet
Fixed: Over complicated markup
Tuesday, 17 September 13
PROBLEM: HTMLAural clutter - headings inside lists
FIX:Refactor HTML
BBC Olympics Desktop and Tablet
Fixed: Broken navigation when resized
Tuesday, 17 September 13
Problem - Design/CSSFailed colour contrast test
Fix:Changed colours
BBC Olympics Desktop and Tablet
Fixed: Favourite Button
Tuesday, 17 September 13
Problem: HTML generated by JSspan 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 linkUnable 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: JSInfinite 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 onlyIf 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 orderDesign 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/CSSCan’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 providedLots 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: JavascriptSuggested 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: JSCan’t turn off auto-refreshCompletely unusable by screen reader userUse 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 Dugginhttp://alistairduggin.co.uk/@dugboticus
Tuesday, 17 September 13
Tuesday, 17 September 13