Zooming On Mobile Phones
I saw a plaintive tweet, today, from the European Blind Union (EBU). It concerns a matter that is, clearly, of great importance to partially sighted people because the tweet is pinned to their Twitter page, permanently in top position. If it is that important, let's take a look at it, and maybe lend them some support while we are about it:
That has been pinned there since July last year! Why the plea? And what makes it so important that they feel the need to have it there in first position for so long? After all, the European Blind Union have a lot of other things on their plate. Their organisation is not just for the partially sighted but for the blind as well. They are involved in various projects, and also in international conferences around the world. The EBU currently has national member delegations from 44 countries. Yet they give pride of place on their Twitter page to this single message.
And it is a matter we web designers and developers could fix so easily!
Don't Disable Zoom!
It concerns responsive design for mobile phones. It is a plea, to us in the web development industry, not to prevent partially sighted people from zooming our websites on their mobile phones.
Now these users are doing the looking, on their own equipment. Why shouldn't they be allowed to zoom in if they want to? Especially people with impaired sight who need to zoom just to be able to see what's there. Yet so many web designers and developers feel the need to stop users from zooming in to see more clearly. Just take a look on the StackOverflow forum; the question of how to prevent zooming on mobile phones has been asked many times!
It's as if a book publisher were to produce a new form of book binding that only allowed the book to be read when placed horizontally on a table. Sure, it could still be read, but most people would soon give up standing at the table and throw the offending object in the bin. We want to sit in an armchair while we read, with the book held at a comfortable angle of our own choosing - and not always at the same angle either.
Even normally sighted users frequently want to zoom in on a web page to inspect something more closely. But for people with seriously impaired sight, zooming is an absolute requirement, a matter of necessity, or they cannot see the website in the first place!
The technical part is, of course, in the meta viewport tag in the web page's
section. Which, all too often, reads:
<meta content="width=device-width, maximum-scale=1, initial-scale=1" name="viewport"> ===============
It's the "maximum-scale=1" bit that stops zooming. Another construct that produces a similar effect is: user-scalable=0 (or user-scalable=no). Both are bad for people who can't see well.
However, this is not simply an accessibility issue affecting disabled minorities. It is a usability matter affecting all users. There are many situations where ordinary users, even those with perfect vision, want to zoom a web page on their mobile phones, and there are many more groups of users who always need to enlarge the text size:
- a portion of text is too small to read
- they need to enlarge the text in order to select something for copying and pasting elsewhere
- a person doesn't have their spectacles with them
- a person has their spectacles but the situation is not convenient for putting them on
- mobile devices differ; what is plain enough and large enough on one device may be difficult to read on another
- people with large fingers or a shaky hand have difficulty hitting buttons (or the buttons are too small)
- many elderly people, while not considering themselves disabled, need to use zoom just to see content
- anyone with poor or impaired sight
Preventing zooming, and so breaking the rule of not taking control away from your users, is bad for usability. It will lose you visitors: all those that cannot see your content, plus those who simply get fed up with the struggle to peer closely at your content.
Why Do They Do It?
Some designers do it because, apparently, they want the text size to remain constant as the mobile phone is switched from portrait to landscape orientation. Some browsers, such as Mobile Safari, merely zoom the page to allow for the change in orientation, instead of updating the viewport size and redrawing the screen as other mobile browsers do.
So to stop this change in zoom level on a few oddball devices, developers stop all zooming, on all browsers, on all phones! This might, or might not, be useful for users of Safari phones, but it has a catastrophic effect on the many other users who can then no longer use zoom at all!
However I think another reason for the widespread occurrence of this practice is that the tiny bit of code I have shown above has been recommended in so many articles and web tutorials that it has now taken on a life of its own. Accessibility, or even usability, is rarely mentioned in those articles that advocate zoom prevention, and most developers are unaware of (or perhaps uncaring of) the problems it causes for their users. So there is little incentive to stop the practice.
We Must Be Good!
But stop it we must. It makes websites difficult to use, and loses potential customers. It breaks a website's conformance to accessibility standards (assuming it is trying to follow the standards in the first place.) More to the point, it discriminates against elderly and partially sighted people, making it difficult, even impossible, for them to use their mobile phone on so many websites.
And, not to put too fine a point on it, when used on commercial websites that provide a product or service (even if the service is free), it breaks the law in all those many countries that have anti-discrimination legislation.