Alex Hardy


Hello there!

Archive for ‘Accessibility’

Why CAPTCHAs suck

Wednesday, November 26th, 2008

Robert Hoekman Jr, usability guru and author of the brilliant Designing the Obvious conveys inside a 140-character Twitter post why CAPTCHAs suck:

“Enter correct CAPTCHA, get error, reenter chosen password, recheck checkboxes, reenter correct CAPTCHA, wash, rinse, repeat.”

Ugly. Glitchy. Problematic from a readability and accessibility standpoint. I think CAPTCHAs are horrible and I won’t be adding them to my applications.

A simple question/answer spam challenge – as on Building Findable Websites – is a far more elegant solution. This is definitely *on* the roadmap.

The Web Guidelines quality model

Tuesday, February 12th, 2008

The Web Guidelines quality model, published by the Netherlands government:

For creating web sites, internationally recognized agreements exist in the form of Web standards. Application of these standards provide a significantly better website. The Netherlands government has brought these international standards together in a quality model called the Web Guidelines. They include 125 quality requirements in order to achieve better government websites.

This is well worth a read. Although the site is devised to help build government websites, just about everything here could be applied to any site.

UTF-8 text encoding and self-hosted PHP / MySQL web applications

Monday, February 11th, 2008

One of the best things about web development is that there is always something new to learn, no matter how much you know. If you want to really learn how to build a solid, portable application then I’m convinced that the best way is to release one.

Users will be swift to report bugs and incompatibilities for you. This isn’t negligent; it’s natural. A developer can’t anticipate all possible configurations and behaviour. Your response is what matters. You may be equally swift to issue a fix, but issues may sometimes go unaddressed because the effort outweighs the benefit.

Issues with simpleContact have been rare, but a self-started forum thread caught my attention last week. A member commented that they hadn’t been able to submit their name properly. I’ve researched the matter and in the interests of transparency I’m going to present what I found and what I plan to do.

Character encoding is a thorny issue that few bother to understand and implement in a considered way. There are articles on the web that cover the subject in detail, so rather than re-hash their points I’ll add some relevant links at the end.

The issue

simpleContact uses MySQL’s default collation, which is latin1_swedish_ci – fine for English and most Western European languages, but other languages (e.g. Greek, Japanese, Russian etc) will not be stored or represented properly. This is a matter I wish to address because I want as many people as possible to use my software.

The ideal course of action would be to process and store data in UTF-8 encoding. UTF-8 is a multi-byte character encoding that supports the characters of just about every language in the world.

Advice abounds for how to reconfigure your server and scripts to use UTF-8, but matters are more complicated when users will host an application on their own site. As developers of apps like WordPress and Mint know, ideal configurations in shared hosting services and availability of non-default PHP extensions like mbstring can’t be guaranteed. Some of the servers I have access to lack the necessary functions.

The easiest thing would be to put up a wall and say “If you don’t have x, you need to get a better host”. Meanwhile back in the real world, users are far more likely to reject an app than swap hosts. A middle ground has to be reached.

The solution

UTF-8 support must be added, but not without respecting a user’s situation. I plan to keep Latin-1 encoding and collation as a baseline standard for compatibility. It is better to support a subset of commonly spoken languages than not to work at all. For users whose server supports mult-byte string functions, the database will be silently upgraded to UTF-8 and appropriate methods will be used in PHP.

Beyond that, there isn’t much else. If you want a truly international solution and your host won’t support mbstring then you really do need to choose another host.

So what next?

I have fixed the feature-set for simpleContact 2.0 Pro and don’t intend to add UTF-8 support to it. When 2.0 is done, it will become a high priority feature in version 2.1, which will be a free upgrade. I will add it to simpleContact Lite in due course.

Useful links

BBC rethinks iPlayer cross-platform support

Thursday, April 19th, 2007

A nice little victory for people power :)

The BBC’s plans for the iPlayer were put on hold earlier this year after its regulators, the BBC Trust, asked the corporation to look at whether the iPlayer should be platform agnostic.

As the article states, support for Mac and other systems will come after the initial launch, but better late than never. As someone who signed the petition on this issue I’d like to thank the BBC for responding to the public’s wishes.

BBC to open up archive for trial

Refresh and the screen resolution dilemma

Tuesday, February 27th, 2007

Web design and development is a world of endless debates on what is the best (or perhaps the least bad) way of achieving your goals. One such topic is screen space, and arises as we work on the Refresh design.

800×600? Higher? Fixed-width? Fluid? etc…

I’ll cut to the chase: we’re going to design the site in fixed-width format for resolutions of 1024×768 (1024px) and up. This decision has certain implications, and isn’t one that I take lightly. I’ll attempt to explain myself…

A current rule of thumb says that somewhere between five and ten percent of web users are on resolutions of 800×600 (800px) or less. Some would say that’s rather a lot of people to inconvenience by making your website wider than their window.

I would say that this is a matter of optimising graphic design, not accessibility. Requiring the minority on small screens to scroll horizontally a little bit does not make the site inaccessible to them.

Furthermore, in my experience and opinion it doesn’t necessarily follow that a site’s traffic will reflect that general statistic.

Under most circumstances I’d err on the side of caution and recommend a design that was no wider than 760 pixels. This fits 800px with an allowance for scrollbars and an amount of screen furniture. That is what I have done on this website.

Stephen and I have formed a clear idea of who we perceive the audience to be for this site. At least a large part of it is people very much like ourselves. We have also considered how to approach marketing it and the kind of recognition we want it to gain. The probability that users will be on 800px seems to vary from merely unlikely to practically inconceivable.

I think it’s fair to say that we have reached the painful part of the design process. The part where you are tantalisingly close to arriving at a design that you are very happy with, but feel far away at the same time. At this point a re-evaluation of previously assumed constraints and a fresh pair of eyes may revolutionise the project.

I’ve received Ste’s fifth concept design, done some work of my own and fired it back. He’s going on holiday from Thursday and will be back in a couple of weeks. I plan on relaxing too. I think that when we get back together we’ll both be re-energised and the look-and-feel will come together quickly. Once a few key sections of the site are visualised it’s full steam ahead.

On iPlayer, branding and its flipside

Sunday, February 25th, 2007

I’ve been thinking about why the BBC’s iPlayer is so irksome.

It isn’t so much that a lot of the content will originate on Macs, but they apparently can’t be bothered to make it available unless you’re on Windows. Or even that despite the irony, they are jumping on the (rather tired) ‘i’ prefix bandwagon to imply modernity…

I think it comes down to branding.

One of the functions of branding is to establish “brand values.” Human values that is (such as caring, cool or sex-appeal), to confer upon a company or product. The desired effect is that we will identify with these values and aspire to attain them, buying the product in pursuit of that goal.

It’s in our nature to anthropomorphise. We ascribe human personalities to everything from companies to our pets, our cars, to even the frost on our windows. But there lies the rub – when a company presents itself to us with human values we treat it as such. If they go on to fail to meet our expectations, or otherwise behave in a way that is inconsistent with character, we feel it as a human betrayal.

I’m a child of the 80s, so I remember when the BBC was channels one and two (of four) on my parent’s telly, and a handful of radio stations. No BBC3, no BBCi, no podcasts. I imagine the BBC as a faithful old civil servant, tirelessly creating news programs, documentaries, great childrens’ shows etc.

When I read a story on the BBC’s website with sloppy journalism, when I see an advert for a program I fancy only to find it’s on a BBC channel I don’t have, it annoys me. When I read that an exciting new service won’t work on my modern computer and broadband internet connection, I’m pissed off.

I gladly pay my license fee. I’m working my way through the Planet Earth series on DVD at the moment. It’s a masterpiece, the likes of which commercial stations will probably never produce because there’s more money in “Extreme Celebrity Self-Degredation 2007”. The BBC is a great asset to this country but one that we are made to pay for, in a manner comparable to paying council tax.

I expect access to every part of it, but if that doesn’t happen it will only be the latest let-down.

Petition to demand that BBC support Mac and Linux

Friday, February 23rd, 2007

A petition has been placed on the Prime Minister’s website regarding the BBC’s nascent iPlayer service. iPlayer will let users watch shows online or download them to a computer for later viewing. The petition objects to the BBC’s intention to deliver this service exclusively in Windows Media (to provide a DRM framework). It requires that they deliver a platform agnostic solution.

The BBC plans to launch an on-demand TV service which uses software that will only be available to Windows users. The BBC should not be allowed to show commercial bias in this way, or to exclude certain groups of the population from using its services. The BBC say that they provide “services for everyone, free of commercial interests and political bias”. Locking the new service’s users into Microsoft Windows whilst ignoring those members of society who use other operating systems does not fit in with the BBC’s ethos and should not be allowed.

I’ve signed this petition, and whatever your platform of choice I urge you to do the same.

Manchester Galleries

Friday, February 9th, 2007

I thought I’d kick off a new section. As I mentioned in a previous post, I’m going to keep a record of things I find interesting or inspiring. It might be anything - a website, movie, videogame or something further afield like an interesting art or design book, an exhibition, a piece of architecture or something from the natural world (there are some pretty wild designs there!).

Manchester City Galleries

It’s a Friday and I’m feeling unwell, so I’ll make my first post a brief one. It’s a website from my home town.

It’s the Manchester City Galleries website by Manchester agency Reading Room.

The graphic design is clean and simple, not really much to write home about (or indeed post about), so why am I drawing attention to this site?

Go to your browser options, and increase the text size. Notice how, instead of the usual effect (the text getting larger and the page layout breaking), the whole layout enlarges - images and all. In some cases you observe some wrapping as elements get too large, but it works well for the most part.

For the web designers among us, they’ve done this by setting body {font-size:62.5%;} in CSS, which makes 1 em = 10 pixels. They then specify the dimensions of everything with ems. So the image of the front entrance is sized as {width:16em; height:15.2em;} - in effect 160px x 152px. So because ems are a measurement that scales when you enlarge the text everything grows proportionately.

This is great for people who have poor eyesight who habitually enlarge text, or perhaps just those on fancy high resolution screens.

Very clever indeed.

The blind leading the blind…?

Tuesday, December 19th, 2006

I’m in the habit of adding several minor accessibility features as a matter of course. “Skip links” are one such technique. In principle, hidden links at the top of the page allow screen reader users to move directly to defined content areas. This bypasses elements (such as navigation menus) that they wouldn’t wish to hear every time they load a page.

Dive Into Accessibility recommends the CSS that I’ve used so far to hide them:

#skiplink {display:none;}

Yet Bite Size Standards specifically discourages this technique…

Why not use (display: none;) in the style sheet? It seems like it would make sense, but it doesn’t work. Screen readers will respect the display property of “none” and the link will not be there.

#skiplink {position: absolute; margin-left: -9999px;}

This declaration positions the skip nav off the viewport -9999 pixels, rendering it, in effect, invisible. The skip nav is still there, though, for screen readers, text-browsers (Lynx), and those with style sheets disabled.

Finding something like this questions the expertise of not only the originating article, but the whole website and its author. Clearly, Dive Into Accessibility haven’t tested this method before recommending it, or its inadequacy would have been revealed.

It’s instances like this that makes Brent’s view that accessibility discussion is a passing fad, whose recommendations are meritless seem entirely justified. Obviously the first technique does not serve those that it’s intended to help and so cannot possibly be a product of user request. Unfortunately, as a web developer who does not use a screen reader I have to take on faith that these techniques are from a credible source and actually work. Without conducting my own research I see no more reason to trust the second technique.

Philosophically speaking, I’m committed to making my work as accessible as I can. When my website goes live, it will represent the best of my knowledge at that time. I’m resigned to the fact though that many of the techniques I take for granted may be utterly useless, so I will appeal to my users to feed back. In the end, that is the only solution.

Inaccessible websites widen the digital divide

Thursday, December 7th, 2006

(see article)

Most websites are ostracising disabled people by failing to adhere to the most basic accessibility standards, according to a United Nations (UN) commissioned survey…

It makes you wonder if there shouldn’t be some sort of universally recognised accreditation for web designers and developers - to separate the wheat from the chaff, as it were.