useful & friendly accessibility
We made a deliberate point to avoid using the term "accessibility compliance" because site design and coding has to do more than that to be useful and friendly.
It is possible to have a technically accessibility compliant website but still be frustrating and difficult to use for site visitors with disabilities.
Designing useful and friendly accessible websites need careful and thoughtful consideration throughout the design process of both the visual appearance and the underling code structure that supports it. Although there are many forms and degrees of disability that can present very different challenges for users of your website there are common design principles that if applied will assist the ability of your site users to access the services and information you have to offer.
The main design principles are: uncomplicated clean visual design; logical site structure and page layout – both visual and in code, ensure all information is accessible for all users, ensure mark-up code meets accessibility compliance, apply progressive enhancement where possible.
uncomplicated clean visual design
Web pages that are crammed full of varying information, multiple sections packed tightly together or numerous in number and loads of links, aren't just visually unappealing but they are also disorientating and confusing. Sites designed like this are difficult for everybody.
On the other hand sites that allow a user to quickly determine what the site is about and what it has to offer, all without having to struggle through competing visual distractions and information overload are ideally easier for all site visitors. The design principles involved in achieving such a site are also the same principles that work towards a better accessible experience.
logical site structure and page layout – both visual and in code
visual layout
At the heart of good web design is well formed information architecture that orders the content into logical groups using terminology that conveys accurate and decisive meaning.
It should be possible to look at a sites menu and at a glance understand the site layout, scope and what to expect. All pages where possible should be accessible through the main menu or section sub menus avoiding orphaned pages that are only linked within page content.
A page layout should readily convey what information it is providing and have clearly defined areas structured to enhance readability and content understanding. Thoughtful use of headings, information grouping, and white space (less is more principle) will ensure all users have an easy time accessing the content.
code layout
The underlying code structure of each page can have a significant influence on the accessibility usefulness and experience for site visitors.
For example site visitors with vision impairment who utilise screen readers have a distinct disadvantage at not being able to visually gain an understanding of the site structure with just a glance and do not have the luxury of moving their focus around the page to the various sections with eye movement.
It is here that code structure and css styling can do so much to improve accessibility and site functionality.
CSS provides the ability to rearrange the visual layout and appearance of a page differently to that of the underling code structure. This provides the means to structure the underlying page content in the most logical order, groupings and hierarchy suitable for screen readers which read the page coding from top to bottom in a lineal process.
Another advantage of CSS is the ability to include extra information which is read by screen readers, but not visible to other users, to assist in understanding site layout, menu structure, page organisation and the ability to skip or jump to various sections of the page.
In short thoughtful use of CSS and information hierarchy it is possible to provide two structural layout designs, the visual layout and lineal textual layout, each planned, structured and labelled to achieve the same context and orientation for all users.
ensure all information is accessible for all users
There are any number of issues that can create accessibility problems from files types to coding practice to site functionality and behaviour. Audio and video files in some instances may not be accessible content for all site visitors so where possible text transcript should be provided. Using the canvas tag is useless to screen readers and site functionality dependent on JavaScript brings its own set of problems that need to be carefully managed and planned.
One of the most basic principles for accessibility is to ensure all content is keyboard accessible. This is particularly important when using JavaScript where the use of "mouse over" and "mouse click" functionality need keyboard equivalents so all users can access the content equally.
Forms and tables are other areas that require extra mark–up coding and thoughtful organisation to ensure they are not only accessible but are practical to use and assist the user to remain orientated while filling out a form or navigating table content.
The bottom line is it takes more than providing meta tags and data for the various file types to ensure all content is equally accessible. Building in a number of ways to access the same content and careful planning should assist to mitigate of limit accessibility issues.
apply progressive enhancement where possible
Javascript and Ajax allow site designers to develop very sophisticated applications that improve the users experience in ways not possible without these technologies. However for many users Javascript and Ajax functionality severely impede accessibility unless applied as progressive enhancement and/or with evolving adaptation of WAI–ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) and HTML 5 technologies.
Progressive enhancement is an approach where all page content at its basic level is accessible to all users with the application of Javascript and Ajax as an enhancement to the page functionality rather than the only means of access. In some circumstances it is not always possible to achieve this outcome and if this is the case alternatives need to be provided.
Although there have been advances made with assistive technologies, particularly the adoption of WAI–ARIA and the new release of browsers software implementing much of the html 5 standards, care still needs to be taken in how these technologies are applied and organised both visually and in code.
A word of caution regarding the adaptation of new technology. Many users of assistive technologies are not always in a position to update their programs to the latest releases as many of the programs are expensive and not always trouble free with their implementation. As such once again progressive enhancement with these technologies should be the rule not the exception.