One web and universal access: a bridge too far?
Written by Henny Swan. 1 comment
Can the idea of universal access really meet the needs of users with disabilities browsing on mobile and hand-held devices or is this just wishful thinking?
In a world were the web is everywhere — in our pockets, on our TV’s, on games consoles and more — you can’t risk shutting out users as we become more and more diverse. But making the web accessible to diverse users on mobile devices has its challenges but it also has its advantages. Building separate versions of sites means you can’t guarantee cross device compatibility and you risk locking out users.
In his article “Mobile Web 2009 = Desktop Web 1998″ long-time usability specialist Jakob Nielsen would have you believe that the idea of ‘one web’ is incompatible with universal access and the mobile web:
“Mobile phone users struggle mightily to use websites, even on high-end devices. To solve the problems, websites should provide special mobile versions.”
In one regard Nielson is right; browsing content on a mobile or hand-held device brings a myriad of barriers to access that are not such big issues on a desktop, or don’t exist at all. Varying viewport sizes, problematic keyboard input, walled garden platforms, poor scripting and plugin support all conspire against the mobile user. A mobile user’s experience is not dissimilar to that of the user with a disability on a desktop computer. This in turn leads many designers to build platform or mobile specific websites such as iPhone and .mobi, just as Nielsen suggests.
That browsing on mobiles and hand-helds is more difficult is a fact. That designing separate versions to cater for the needs of users on hand-helds is, however, questionable. To understand why let’s bring web accessibility into the equation.
The Web Accessibility Initiative (WAI) from the World Wide Web Consortium draws parallels between making a website accessible for people with disabilities and making it accessible for mobile devices. While there is no direct mapping between the Web Content Accessibility Guidelines (WCAG) and Mobile Web Best Practice (MWBP), there is a significant overlap which means designing for mobile goes a long way to supporting users with disabilities and vice versa.
So far so good but this raises the question: if WCAG and MWBP are implemented will a website be both mobile ready and accessible to users with disabilities? This is where the equation ceases to be quite so neat and tidy. One does not guarantee the other just as building a site strictly following WCAG will not always guarantee it is usable by people with disabilities.
So what are the highlights and cross overs between accessible and mobile web design? Are there potential conflicts of interest? And how feasible is it really to create websites which are universally accessible across devices using today’s technologies?
CSS
CSS is an obvious candidate for supporting both accessible and mobile web design. Separating content from presentation and flexible layouts are core to this. To accommodate users with different output media it is standard to support media types — style sheets or styles tailored for different media such as ‘print’, ‘screen’, ‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘tty’, ‘tv’, and ‘all’ as defined in CSS 2.1. These can either be linked in separate stylesheets or declared in sections of a stylesheet using the @media attribute.
CSS 3 introduces “media queries” which extends the functionality of media types by allowing you to define what type of output devices a style sheet applies to using media features such as ‘width’, ‘height’, ‘device-width’, ‘device-height’, ‘orientation’, ‘aspect-ratio’, ‘device-aspect-ratio’, ‘color’, ‘color-index’, ‘monochrome’, ‘resolution’, ‘scan’, and ‘grid’. The most frequently used are ‘width’, ‘height’, ‘device-width’, ‘device-height’ which are widely supported while others have varying support across browsers. Using these, content can be tailored to a specific range of output devices and screen sizes without resorting to separate versions of your website for iPhone, .mobi and so on.
Media queries can be used in linked stylesheets or delivered using the @import at rule or @media attribute. A typical format for the @media attribute is as follows:
-
div {/*rule 1*/}
-
@media projection {
-
div {/*rule 2*/}
-
}
-
@media all and (max-width: 800px) {
-
div {/*rule 3*/}
-
}
-
@media all and (max-width: 500px) {
-
div {/*rule 4*/}
-
}
-
@media all and (max-width: 350px) {
-
div {/*rule 5*/}
-
}
-
@media projection and (min-width: 1281px) and (max-width: 1600px) {
-
div {/*rule 6*/}
-
}
-
@media projection and (min-width: 1601px) {
-
div {/*rule 7*/}
-
}
The above gives instructions to the user agent on how to render the page depending on viewport size. Currently support for media queries on devices is still evolving but does include Opera Mobile, Opera Mini 4, Opera on the Nintendo Wii, iPhone, Bolt, Iris and the Nokia s60 browser.
Device independence
Device independence aims to make — as far as is reasonable — the same information and functionality available to users irrespective of the device they are using. This does not mean that exactly the same information is available in exactly the same way, but importantly, it is nevertheless available.
A staple of good web design is clear navigation and never more so than for mobile web users and users with disabilities. Clearly described and unique links, well worded succinct headings and well-written alternative text for images are all fundamental to good navigation.
Occasionally however, what may work on the desktop to enable accessibility might work against users on different devices. Using CSS to hide text that is intended to be invisible on screen yet available to screen readers is a prime example of this. Often this is used for hidden “new window” warnings or for news sites that have a series of short summaries of stories followed by a link that says “full story”. To hide text a CSS selector rule is set as follows:
-
a span { height: 1px; width: 1px; position: absolute; overflow: hidden; top: -10px; }
Then <span> is used with a link to hide text within the HTML:
-
<p>How to create accessible and mobile ready web pages.
-
<a href=”#”>
-
<span>This explanatory text is read by a screen reader but is not visible onscreen</span>
-
Full Story</a></p>
The benefit for a screen reader user is they hear the heading to the news item when they tab onto the link. This is important when you have many links to “Full story” on a page. On the other hand mobile users don’t get this information which can result in costly download charges from seemingly small digressions clicking on unclear links. This is especially annoying when you don’t get the new window warnings as back buttons don’t work.
Such vital navigational information cannot be communicated via CSS alone and must instead be visible text or icons to warn users of new windows. As a basic rule content should always appear in the document object and be available with CSS disabled. Text generated via CSS is not part of the document source and is therefore not available to mobile users.
Proprietary versus open technologies
Proprietary technologies such as Flash are a huge challenge to universal access. Support on mobile platforms as well as alternate devices such as the Wii is not robust.
To further exacerbate the problem on the desktop most modern browsers aside from IE suffer from poor keyboard support of Flash. While Flash content itself may be navigable the Flash object can not be tabbed into or out of from the browser as there is no standardized support API for plugins. This is currently being addressed by plugin vendors such as Adobe and browser makes such as Opera, Apple and Mozilla but until the issue is fixed universally fallback alternatives need to be provided in the form of captions and transcripts.
With video an essential and growing part of today’s web, proprietary formats lock out many users unless appropriate alternatives or fallback are provided. While HTML5 and the <video> element could rectify ongoing issues with codec support on the desktop, lack of <video> support across browsers and then the additional work to bring this to mobile mean we are certainly not there yet. This is not to say that striving for a standards based approach that HTML5 will eventually offer should be ignored in favour of proprietary formats.
What about the screen readers?
Perhaps the biggest question that comes to mind with mobile accessibility is support for users of screen readers, the poster child for accessibility. Rightly or wrongly screen reader users are considered the most extreme users to accommodate when it comes to accessing content, an issue that is magnified when it comes to mobile browsing.
On the desktop screen readers are able to access web content via the browser using hooks provided by accessibility API’s such as MSAA, IAccessible2 and UI Automation. Unfortunately the walled garden nature of mobile platforms means that no such shared API’s exist across mobile platforms. The AEGIS project (Open Accessibility Everywhere) has set out to create a shared API but there is no scheduled release for this, or indeed an outline of what it would entail and how it would be deployed across platforms.
For now mobile screen reader users are restricted to platform specific screen readers such as Voiceover on iPhone or Talks on Nokia and Blackberry. This is a start at least and the key thing to know is that if you accommodate for screen readers on the desktop you will be building in access to content on mobile whatever screen reader or platform is used now or in the future.
Looking ahead
As we’ve seen there are some significant challenges to universal access across devices for diverse users. However by building two versions of one site we are in danger of making the same mistakes we made on the desktop in the late 90s.
Back then separate text-only websites were considered a one shot accessibility solution that in reality failed dismally. Many text only websites, while technically accessible to screen readers, forfeited accessibility for users with other needs such as people with cognitive problems who need colour, layout and images in order to comprehend layout. Additionally, content was not always equivalent between the two versions. The same issue happens today with mobile only versions of sites, where links or content are often stripped out to make the mobile version lighter.
Separate versions means that accessibility becomes compartmentalized: a bolt on rather than built in feature. It also means that people without accessibility needs don’t benefit from the additional usability that an accessible site gives, and mobile users fall neatly into this group. Emerging technologies may still be variously supported across desktop and mobile browsers but building to open standards will lead to ‘one web’; an easier place to navigate whatever your browser, platform or assistive technology and in the long run an easier web to develop for.
While standards support on mobile may seem more variable than on the desktop the positive side is that baseline mobile browser capabilities are improving fast. In addition to this people tend to upgrade mobiles every year or so whereas on the desktop many web users globally still use older less standards compliant browsers such as IE6 which came out 8 years ago.
With that in mind key things to think about when building websites for diverse and mobile users are:
- use CSS media types and media queries to accommodate different devices
- design for device independence
- ensure all information is accessible via HTML and not CSS
- use existing web standards over proprietary formats
With the web quite literally everywhere we have a bigger obligation than ever to ensure people have access no matter what their platform, environment or personal needs. If we split the web now we are in danger of losing this shared framework and true universality across devices.



Written by Dwight Vietzke on the 17th of May
Great article. I couldn’t agree more.
An interesting bi-product of my own development work has been the realization that content must be stored in a database and served to specific devices and not just served from simple pages. Some sort of server scripting or programming is necessary to negotiate the current field of browsers and devices trying to access a website, for many reasons.
If browsers strictly followed some sort of web standard, it might be possible to create a page driven website which could adapt to different devices via media negotiation, view-port specification, etc. Yet this is improbable given the current trend for browsers (especially IE) to still do their own thing. So a ‘one web’ dynamic website is a worthwhile goal, but does require significant effort to create a workable solution.
The good news is, the latest smartphones and iPhone are now able to process css, javascript and xhtml (when being xhtml MP compliant) reasonably well. So there actually may be future for the ‘one web’ website.