Wrangling Widgets
Sooner or later, you’re bound to come across an article, or blog entry, that talks about text size widgets
. What exactly are these widgets and are they of any real use?
A text-size widget is a link, input or user control that allows users to view the site via an alternative style sheet with a larger, or smaller, relative font. The widget itself may be a short piece of text such as “Large Text” or it could be a small icon. Some sites offer a whole range of small, medium and large ‘A’ icons that change the text size. But, at the end of the day, it has to be said that this kind of accessibility option does replicate functionality that is probably best accomplished through the user’s own browser. So do these widgets offer any additional user support or is it just a case of designers showing off their cool alternative Cascading Style Sheet (CSS) skills?
The Arguments
In reality, that question isn’t easy to answer. This is a topic that often provokes strong responses from both sides. Let’s take a look at just a few of the arguments.
- Argument 1
-
Text resize options are often buried in deep within the browser’s interface and are not readily available by default.
- Response 1
-
By encouraging text resize widgets, we’re allowing the browser vendors to sit back and not do anything about it.
- Argument 2
-
Browser vendors are observing the letter of the User Agent Guidelines.
- Response 2
-
That may be so but they’re not observing the spirit of those same guidelines.
- Argument 3
-
Users should learn how to use, and configure, their own software.
- Response 3
-
Whose job is that? Site owners? Disability organisations? Browser vendors? Whilst no one group is willing to take responsibility, the onus tends to end up falling on the developer!
The more hardened amongst you might agree that this is not a developer’s problem but we also tend to forget just how daunting the web browser menus, and sub-menus, may appear to the average non-technical user. Grant Broome is particularly concerned about the less-confident users. Then there are the issues faced by switch users who may have major problems just trying to access their own browser’s controls. The user agent developers didn’t exactly make life easy for Joe Public when they tucked some of these options away within sub-menus.
The school of thought that you fall into probably depends on whether you once saw a user with poor eyesight give up on a web site or whether you recently staggered out of a developer’s meeting where everybody was complaining about all the demands being placed on developers and the added time and costs of accessibility. It may also depend on how we define what we do. Are we accessibility developers or are we “backenders”, sleeping during the day and putting together clever applications at night but only making them accessible when someone points a gun at our heads?
Like it or not, your opinion on text resize widgets is going to be coloured by the kind of demands (and opportunities) you normally face. However, given that we do have the technology to make life easier for users, can we honestly consider dropping text-size widgets altogether and just let users cope as best they can?
We don’t think so.
Who Uses Widgets?
When talking to, and observing, expert disabled users, we’ve noticed that many of them do not use the text resizing facilities within their own browser. In most cases, this is down to lack of knowledge, or confidence but, on occasion, there are good reasons why using the browser’s own menu system may pose a severe barrier. One of the main widget-using groups seem to be the dyslexic users rather than the visually impaired. This may come as a surprise to many designers but then you need to bear in mind that the latter group normally have their own magnification tools and methods whilst the former are not so well catered for.
User Education
We fully support Ian Lloyd’s call to Teach A Man To Fish . Longer term, the only real solution to this problem will be to try and educate users so that they learn to use the controls within their own browsers more effectively. To this end, Mike Cherim has provided a useful summary of controls already available within most browser interfaces. But no one said it had to be an “all or nothing” situation. What about a programme of user education across as many sites as possible whilst simultaneously making these widgets available until the user agents become easier to operate or more intuitive to use? Wouldn’t that offer the most considerate method of trying to educate users without forcing them to go “cold turkey”?
I’ve Decided to Offer Text Size Widgets. Now What?
The manner in which text size widgets are offered, however, is something that merits closer investigation. So far, we’ve identified two common problems.
To ‘A’ Or Not to ‘A’
As we’ve already mentioned, some sites use icons — typically small “A”, medium “A” and large “A”. But dig a little deeper and you’ll also find that the alt text for each icon is often a literal transcription of the icon’s text (i.e “a”). Ask a few screen reader users to evaluate these pages and all you’ll hear will be multiple renditions of “a…a… a” whilst confused users try to figure out what all of these “a”s are supposed to mean. Experience suggests that, at this point, only an explanation from a sighted person will be of any real help.
And whilst we’re on the subject of conventions, they can be dangerous. Many web sites spend significant resources on text-only site versions and BrowseAloud functionality because that’s accessibility
whilst failing to deal with a whole raft of significant accessibility barriers like decent headings structure, colour contrast, explicit link text etc.
Ideally, we think that icons for text-size widgets should be dropped in favour of clear text. But if that’s not feasible, clear and informative alt text is a must.
Can There Be Too Much Choice?
We think so.
Does anyone really need the full range of “Small”, “Medium” and “Large” text offerings? Many sites seem to choose this multi-option route without ever thinking it through. We feel it’s often overkill. Multiple text-size widget links can cause problems for all non-mouse using groups but are unlikely to offer any additional benefits for visually impaired or dyslexic users who will just opt for the largest text size on offer.
A single “Large Text” option may be all that is needed with the corresponding “Normal Text” only available when the Large Text option has been selected. If you do think you need to offer other options, at least ensure that you have very good reasons for doing so first. Thus far, we’ve only come up with one possible scenario for offering a “Small Text” option. If a site’s default text size is quite large, some user groups (such as voice recognition software users) may benefit from an option that allows them to have more text within the browser window.
Better Options
Another approach is to stop trying to work out what text size your visitors might need and, instead, offer them the opportunity to simply increase or decrease text size by x% as many times as they want. The use of simple phrasing such as “bigger text” and “smaller text” should also be used to make the widget’s functionality as clear as possible. You could then take it one step further by setting a cookie on the user’s machine so that, on their next visit, their ideal font size is automatically rendered.
Server Or Client Side?
We don’t think it’s worth worrying too much about this. JavaScript isn’t “bad” per se — despite the knee jerk response from some accessibility quarters. Using it to do something, which perhaps we don’t really need to do anyway and which a browser can do already, isn’t wrong. We don’t want to second guess user scenarios but who would be affected by a JavaScript solution? Not screen reader users. Not mobile device users. Which leaves us with:
- Users who are on networks where support for JavaScript in the browser has been disabled by the corporate IT department.
- Lynx (text only browser) users.
Both of the above could be described as “a user choice”. Under those circumstances, should we even be aiming to support them? Server-side solutions have their downsides too. Some may require a page refresh before the text size change kicks in. Others “break” the Back button functionality by forcing users to view the same page but using a previous size which they didn’t like.
Over the next few months, we hope to present a few of our favourite approaches but there may be other methods out there that avoid the normal pitfalls. If so, we’d like to hear about them. Because whether or not you agree with the fundamental principles of replicating browser functionality, there seems little doubt that, for the time being, some users still need a helping hand.
And at the end of the day, if you are going to have a little piece of functionality on your site, you need to ensure that it’s usable — otherwise it just adds to the list of things on a page that could confuse users.
Note: This article was co-authored by Phil Smears and Mel Pedley who would like to extend their thanks to the members of the Shaw Trust’s Web Accreditation Team for their invaluable expert feedback.

Matt Braun responds:
Posted: August 8th, 2008 at 8:01 am →
I was a member of a team that worked on the following site for a non-profit that provides services and education on visual impairment and blindness, and I think the implementation we came up with was exactly the right one for the perceived majority of the site’s visitors.
We provided large text by default, with the option of smaller text and text only “versions” of the site with easy to find widgets.
http://www.sightcentertoledo.org/about/index.asp
Ty (tzmedia) responds:
Posted: August 8th, 2008 at 10:19 am →
With the newer versions of IE 7+ using the keyboard shortcuts, there’s even less reason for text resizing widgets. [control] + [+] or [-] you can knock the text size up or down in a hurry.
They don’t seem to be persistant though in firefox. Visit a different page and it resizes to the CSS page default sometimes.
I’ve used text resizing widgets and had great success with the jQuery styleswitcher from http://www.kelvinluck.com/assets/jquery/styleswitch/
The browser does seem to remember which stylesheet to run and keep the text resized accordingly with Kelvin’s javascript solution.
Another thing about the decision for a widget, if it puts money in the designers pocket, I say go-for-it! The client has already made the decision, and you don’t need to be a standards stickler to the umpth degree, lol.
Thanks Mel nice article.
Craig Francis responds:
Posted: August 13th, 2008 at 3:41 am →
While I don’t disagree that the browsers are holding accessibility back, I’m still not convinced.
My main concern is that, if every website implements this feature, they will all be inconsistent (depending on the design of the website). So the user experiences no consistency when switching between websites… whereas a browser based solution avoids this issue.
A second issue is that allot of websites are already quite complicated, with lots of visual “noise”. Adding extra widgets to the page, can (will?) make the website more confusing with the extra clutter.
And third, any extra functionality adds to maintenance, and also adds to the possibility of something going wrong… so developers should be aware that, although adding a widget like this may only take an hour or two, the overall cost to the project will increase if you need to update it every time a change to the website, or when new browser come out.
As to only having two font size options though (normal and big), there is a slight pitfall in terms of being able to highlight the current selection… the reason you should go with three (or more) options in a system that needs to show the current state, is so that the user knows which one is selected (i.e. if one option was green and the other yellow, does that adequately show the selection on first glance? or does it add to confusion?).
Personally I just think websites should stop using silly 10px fonts “because it looks good”, and instead go with something a bit more substantial/readable.
Grant Broome responds:
Posted: August 18th, 2008 at 5:51 am →
Nice one guys. I think this is a first class summary of the issues faced and the possible approaches.
Linda responds:
Posted: August 20th, 2008 at 1:11 am →
Another argument against text widgets is “This will only apply to my website, and will not affect anyone else. Users will complain that it will not change size on other sites.”
Stevie D responds:
Posted: August 26th, 2008 at 7:00 am →
I’ve always been against re-sizing widgets, because:
(i) people who have really bad eyesight will need the default text size shifted up quite a bit, and they need to know how to do that themselves, and
(ii) if you’re expecting a lot of people who don’t have acute visual difficulties to need to change the size of the text, the odds are you’ve made it too small in the first place. Don’t shrink the default size down to 0.75em and most people will be able to read it absolutely fine.
But if you’re going to have a resizing widget, it should have +/- options rather than three fixed options. There is usually too little difference between the options, meaning that even choosing the large option will not adequately enlarge the text. The setting chosen should be persistent - not only throughout the current visit but ideally on a subsequent return to the site.
On the whole, I think I would go with Javascript rather than a server-side refresh, for exactly the reasons you’ve given. Re-sizing is not essential functionality, so it isn’t a problem if the small number of visitors without Javascript can’t access it. What I would suggest is that any widgets that require JS to work are inserted by JS, so that users without access to the script won’t see the widgets.
Josh Atkins responds:
Posted: August 28th, 2008 at 4:55 pm →
At the end of the day, no matter how simple and easy-to-use browsers — and computers in general — are made, as a consumer, there _is_, in part, a responsibility for them to choose the best product (browser) available to them (now, yes, browsers are free, so perhaps they’re not a product, but let’s not get into semantics), and there is one clear, resounding choice when it comes to everything: web standards, easy of use, extensibility, etc.: Firefox. Hidden within a sub-menu? Technically, yes. Hidden within a difficult-to-find submenu? No, not at all. View -> Zoom -> Increase/Decrease. That’s three clicks. It’s not rocket surgery.
Stomme poes responds:
Posted: November 13th, 2008 at 6:49 am →
Hmm, I was actually unaware of how many people don’t ctrl++ (I know, most people actually are still using IE6, where I think you DO have to go to the View…menu). It’s a second-sight, done without thought by me now (I don’t think I have particularly bad eyes; maybe I tend to go to sites where someone thought “professional design” means 9px font sizes?). There is one user group, the new seniors (seniors who’ve just recently become computer users and are rather unfamiliar with… everything) who would quickly benefit from this widget, due to browser-ignorance.
Pages with widgets usually have not just one, or two, but like 20 of them. Esp Wordpress-style pages where Widgets Wrun Wild. So add to your list, people who DO have Javascript on but no blazingly fast connection… now, you’ve got another (few dozen?) scripts for folks to load (if you’re generally a widget fan). Though I’m first to admit I’m rather biased against Javascript anyway, sometimes unreasonably : )
Mel Pedley responds:
Posted: November 13th, 2008 at 7:47 am →
One reason to be wary of too many javascript widgets is the impact that they may have on cell phone users. Because javascript involves client-side processing, it can rapidly drain a cell phone’s battery - which might not be too popular with your mobile users.
Like everything else, it all seems to boil down to “Think Before You Implement”.