HTML5 For Web Designers – A must read

Even if you are just starting to use HTML5 or have been using it for a while, I highly recommend all web designers, developers and any one in between to read this book. It was an easy read with amazing layout, great graphics and images. The author was witty and concise, but also humble in his limitations.

Jeremy Keith, the author, summarizes the topics in six distinct chapters:

  1. A Brief History of Markup
  2. The Design of HTML5
  3. Rich Media
  4. Web Forms 2.0
  5. Semantics
  6. Using HTML5 Today

All chapters seems to be very carefully thought out. It is obvious that the author barely scratched the surface of what HTML5 can do in such a small book, but he managed to describe key elements with ease and clarity.

Ultimate checklist for making your plugin accessible

HTML code semantics

Following HTML code semantics is fundamental in making your web applications accessible because assistive technologies, like screen readers, rely on the code to transmit the correct information to the user.

Forms are communly inaccurate due to a lack of the label tag or the misuse of the input fields.(Check out the W3C for forms in HTML4 or W3C for forms in HTML5.)

Another commun mistakes involves data tables weither by not structuring your table with the proper elements or  by adding visual attributes that should go in the CSS, (Check out W3C for tables in HTML4 or W3C for tables in HTML5.)

Follow W3C standards to the letter and you will have a good start.

Use CSS

To keep the integrity of your code separate content from presentation. In the case of a data table, attributes like cellspacing and cellpadding should be replaced by padding of the td element in your css file. This will allow users to strip down the visuals to suit their own needs.

Tabbed Navigation

Many users use only the tab key to navigate within a web browser and webpage, because they cannot use a mouse (in case of limited motor skills or blindness).

Colour contrast

There are many tools to help you choose the appropriate colour contrasts between background and foreground of your text.

A proper ratio of luminosity assures that users with visibility issues can clearly see differences between elements. Think of users with colourblindness or eye sensitivity.

WAI-ARIA attributes

If you want to go a step further and you are coding in HTML5, you can use ARIA attributes to compliment all previous steps. WAI-ARIA is a set of elements that give extra code information to assistive technologies.

More information about ARIA:

Designing a website: Top 15 things to consider for web accessibility

Here are the main things to think about when designing a website:

  1. Maintain a design and layout consistency throughout the site,
  2. Avoid clutter,
  3. Include written transcript for any audio and visual media,
  4. Avoid multiple level menus. Do not have more than two levels,
  5. Include a sitemap when your site has embed pages,
  6. Avoid making the width of content too large,
  7. Any one link should have the same title,
  8. Make the titles of the pages clear,
  9. Content must be simple and to the point (Especially if your target audience is broad.),
  10. Do not add default value in form fields,
  11. Make sure that the colours of the background and foreground are well contrasted,
  12. Have a decent font-size. (14px is good.),
  13. Avoid images with text on them,
  14. Don’t use “Read more” links, instead use “Read more about THE TITLE OF THE PAGE”,
  15. All links in the content should be underlined.

Maintain a design and layout consistency throughout the site

I have rarely seen an effective switch in design or layout within the same site. If it is absolutely required, make all changed subtle. Having differences in webpages of one site can be confusing and frustrating for a visually-impaired person and even for a new visitor. A visually-impaired person often uses a screen reader to read the content of the site to them. If within the same site the structure of the site changes from one page to the other, it can be disorienting. The norm is to maintain the same look and feel throughout a site, your new visitor might feel lost when jumping to another page with a completely different look.

Avoid clutter

Keep the layout as clear as possible. This makes it easier for the visitor to find the destination they are looking for.

Include written transcript for any audio and visual media

It’s fair to say that this demand is not obvious to produce. But it’s not fair to those who do not possess all senses. Food for thought!

Avoid multiple level menus. Do not have more than two levels

Not only do multiple level menus often not work properly in different browser, especially older ones, but they are very hard to navigate by keyboard only. Next time you see a multiple level menu try going through the menu by click on the tab key on your keyboard. You’ll see, it won’t be easy to get to the third level or even the second level.

Include a sitemap when your site has embed pages

If your site does have many sub-pages within a page, make it easier for your visitor to get to those pages through a complete sitemap.

Avoid making the width of content too large

When the width of a paragraph is too long, it is often harder on the eyes. The reader gets tired more quickly. Those affected may include people with learning disabilities, newbies, but even people with no known deficiencies.

Any one link should have the same title

You should avoid having the same link with different titles. For example, the link to the contact page with the title “Contact us” should not named “Reach us” elsewhere. We want to avoid any type of confusion that the visitor may encounter.

Make the titles of the pages clear

Be as accurate as possible when naming your pages. Think that you will be using these titles as your page’s main heading.

Content must be simple and to the point

Do not be verbose. Use lists whenever possible. Keep your sentences short. Use words effeciently. Read the W3C Writing Style section.

Do not add a default value in the text input field

The label of the text input field should be enough as to determine the desired input.

Make sure that the colours of the background and foreground are well contrasted

Colour contrast can be measured with applications like the Contrast Analyser by The Paciello Group. Download the application, install it and with the pipette determine if your chosen background and foreground colours satisfy the required contrast ratio.

Have a decent font-size

Make it as easy as possible to read your content. For a font like Arial, use a font-size of 14px.

Avoid images with text on them

If you must have text in your images, make sure to describe the image in the alt attribut.

Don’t use “Read more” links

Instead of linking to your full page with the very commun “Read more” link or the like add the title of what you are linking to. So if the title of the page the link is directing to is called “The Greatest Article Ever” have your link be “Read more about The Greatest Article Ever”. It might be redundant for sighted people, but when you consider that these links might be read out of context by screen reader, then it makes sense.

All links in the content should be underlined

In terms of usability, we want to inform the visitor when a textual information is linked to another page. Making the link a different colour may be indistinguishable to visitors with color blindness.

Many of these points have other implications when implemented in practice. We’ll leave those for another post.

Top Accessible WordPress themes

This assessment is very simplistic and constitutes a basic preliminary review. It is not comprehensive nor exhaustive.

I chose themes from the Free Theme Directory and searched for Web Accessible and Accessibility. I narrowed my selection by considering which theme would be easily customizable, have good contrast between foreground and background, have elements in a convenient location and be aesthetically pleasing as is.

I then used the plugin Demo Data Creator to generate more content for posts, pages, comments and categories.

The following themes made the cut:

Precious version 4.0.1
At first glance the layout is pretty simple and effective. Convenient breadcrumb on top of page. Upon disabling the style sheets, nothing is out of order. Validates for XHTML 1.0 Transitional and CSS2.

Stardust version 2.7
Very stylish out of the box with flexible width. Has “Skip to content” and “Skip to menu” without CSS. By disabling the images, the date for each post is too dark. Validates for XHTML 1.0 Strict, but not in CSS with 6 CSS2 errors.

Whitepress version 1.1.7
This theme includes a skip to content, navigation and search form when disabling CSS. Has a nice javascript for going through the sidebar items, but also works when javascript is disabled. Uses fixed width for 1024×768 resolution. Validates for XHTML 1.0 Strict, but not in CSS with 1 CSS2 error.

Dodo version 1.2.1
This theme is what this website is based on. The color of the posts date and other meta information is also too light. By disabling the images, the text of the main menu has not enough contrast with its background. With a little tweek here and there, it’s really nice. Fails to validate with XHTML 1.0 Strict with 1 error, but passes CSS2.

Precious and Stardust passed the Firefox Accessibility Extension 1.5.61.0 rule set with only warnings signaled .The themes Whitepress (2 Fails) and Dodo (1 Fail) did not pass.

For validation, I used Markup Validation Service and The W3C CSS Validation Service.

em, a unit of measure

The secret of the “em” is proportions. Keeping the appropriate proportions regardless of the size. Let’s use font-sizes as an example.

First, set a parent font-size as an absolute measurement. Let’s say 16 pixels in the body. All subsequent sizes use the following formula: child pixels/parent pixels = child ems. So if you want an h1 to have a pixel size of 24, then its em unit would be 1.5 (from 24/16).

Nested elements require particular attention, because they multiply on each level. If you have a div inside a div and the outer div has a font-size of 1.5em, then the inner div (div div) should be 1em to cancel its inheritance.

Now that the how is settled, let’s go to the why.

Other than WCAG 1.0 recommending the use of relative units (ei. em or %) as opposed to absolute units, there’s the fact that not all browsers deal with resizing in the same way. Some older browsers like IE6 won’t resize any absolute pixels.

The proper implementation of this guideline might be daunting for larger style sheets. My initial advice would be to break it down to specific sections. Have parent pixels on primary divisions and set your inner relative ems accordingly.

[Source: CSS for accessible web pages by Richard Rutten]

Make it readable

Have you ever been on a site that the text was simply unreadable. You know what I’m talking about! The colour of the text and the colour of the background just makes it hard to read, or either the font is just too small or the width of the line is too long. Well now you can customize those pesky texts into something you can actually read.

Readability is a simple tool that makes reading on the Web more enjoyable by removing the clutter around what you’re reading.”

This application made by Arc90 is quite easy to use. Just pick your settings and bookmark it on your favourite browser and use it at your leisure. Get it at Readability – An Arc90 Lab Experiment.

Read about it at: Readability | Arc90 Lab

The deal with opening hyperlinks in a new window or tab.

The main consensus is to avoid them. Why you say? Well because it’s not necessary. If you really want to open a link in another tab or window, you can do it yourself:

In Firefox, hover over the link you want to access, right-click your mouse to get a menu and click on “Open Link in New Tab” or “Open Link in New Window”.

Firefox Right Click Menu

In Internet Explorer, hover over the link you want to access, right-click your mouse to get a menu and click on “Open in New Tab” or “Open in New Window”.

Internet Explorer Right Click Menu

I found other compelling reasons to avoid this habit on Accessify Forum. Kyle J. Lamson wrote“…Forcing new windows can confuse people when it opens behind the window and they do not realize it and it is really iritating when we are reading and it blocks our view.” He also mentions that some browsers or applications do not support multiple windows. He continues by adding “If I want to return to your site, I will… either back button or because usually I open links in new tabs. But if I am just using your site as a jump off point to somewhere else… then i do not wish to remain at your site and you should not force me to.”

I agree with Kyle, it’s all about giving choices and not forcing anything on the user.

So use the back button or get to know your browser. Simple and efficient shortcuts will help make your web browsing experience a better one.

Pushing for Web Standards

Websites dedicated to online awareness and magazines alike are pushing more and more the importance of Web Standards. Sites like A List Apart has been an advocate for Web Standards and Web Accessibility for years. WordPress, Joomla and other content management systems have embraced the principles of accessibility. Forums like Accessifyforum have also seen increased interest.

Governments and now Educational Institutions, mainly Universities are taking the matter into their hands.

Blogs like www.prettysimple.co.uk/blog and contests like at www.accessibilityinfocus.co.uk encourage and pursue the issue in terms of content, design and context. I even came across a guild for accessible web designers. It is hopeful to see that web professionals consider web standards as an important facet of the web experience.

Accessible Web Search for the Visually Impaired

Google cleaned up their search experience with their accessible search engine. Fairly similar to the regular search, but with some subtle differences that can aid a visually impaired person to search better.  The system is still being developed but basically it prioritizes results that are accessible.

Check it out a: Accessible Web Search at Google

To learn more: Making Search Accessible to Visually Impaired Users and Is your Web Site Optimized for Accessible Search?

Getting Lists right

Lists can be tricky, but as long as you keep a consistent structure and the correct sequence, lists are a piece of cake.

Here are the basics to remember:

  • Make your menus into unordered lists,
  • Place the list inside a div,
  • Have an H2 header with menu title (hide it if not need to be visible),
  • The ul has no left indentation (for browser compatibility),
  • Use display:inline for horizontal lists,
  • Breadcrumbs use nested lists,
  • Be diligent.

To read more about lists: CSS Design: Taming Lists

W3C has a new look!

The new and beautified World Wide Web Consortium website is proof that it can be done. Those of us that visit that site regularly know how extensive the site is and a task this big is daunting. Nevertheless, the improvement is welcomed.

Things to notice:

  • It’s scalable width size,
  • More breathable (meaning that there’s less content on the page therefore it’s easier to read),
  • Colours work well together,
  • Changeable views for desktop, mobile and print,
  • The skip link to jump to the main content.

Congrats!

Pretty and accessible design

It is more and more apparent that accessibility can be beautiful. I came across Accessibility in Focus, a website for an accessible web award.

There was 4 finalist, one of them was the Salford City Council. A fairly large website. Its navigation is straightforward even if at first glance the site looks overwhelming. This site is proof that the size of a website is no excuse for accessibility.

The interactive award winner uses Flash. Although Orange Project conforms to the lowest priority level of the W3C WAI standards, I still think that Flash has a long way to go. While considering the site’s probable target audience, the design is a very successful one.