How Accessible is Safari?
Note: The content of this page is very much out-of-date and may no longer be relevant or correct. It is kept here for little more than archival purposes. Please bear this in mind before reading on.
Posted on: 07 February 2003
Prologue: this article was written before build 60 was released. Many of the issues raised were fixed in that release of Safari. Please check the links at the foot of this page for an update on this.
When Apple released Safari on to the unsuspecting world earlier this year, it caught a lot of people off guard. The ripples are still being felt - Mozilla's source code was rejected in favour of the smaller code base of KHTML, and more recently Opera has suggested that it may no longer make a version of its browser for the Macintosh platform. And then, of course, there's the whole issue of how web developers can keep up with yet another browser foisted upon them - does it support agreed web standards? Or does it break standards-compliant sites in horrible new inventive ways?
This prompted me to ask the question about how accessible Safari is - how well does it support HTML or CSS features that can be used to comply with the W3C's Web Content Accessibility Guidelines?
Mac Accessibility in general
Not so long ago, I chanced upon a site (whose URL I didn't store) that
was evidently written by Mac developers, or more specifically Mac OS developers.
On that site I read a quote along the lines of "the Macintosh operating
system has always been recognised for its excellent accessibility features."
It then went on to detail how good the native text-to-speech (TTS) engine
is, but it was hardly an impartial view. The fact is that there is very
little in the way of assistive devices that work on the Macintosh platform
- using screen readers as the (usual) example, how many can you name that
run on the Mac platform? Jaws, Window Eyes, IBM Home Page Reader - to name
but a few - are all PC-based. So, this begs the question - "Why should the
developers bother putting in accessibility hooks if there is nothing that
currently hooks into it?" This is not my argument - it's an argument I imagine
others putting forward, and it's all wrong. It's no different from the arguments
that flew around during the 'browser wars', i.e. "Why bother introducing
support for some W3C standard when we don't believe anyone is gonna use
it? Hey, let's do our own thing - let's introduce something called a
and forget about
It's a catch-22 situation, but the battle for support for web standards in the browsers is almost won, largely thanks to the pressure placed on the browser vendors by the webstandards.org (AKA WaSP). So, while there may be few assistive devices that can be used on the Mac, that doesn't mean that there shouldn't be the option for someone to try to develop a new one - but they can't do this if the support - the hooks - are not made available.
So, what do we know about Safari's support for accessibility so far?
Features known to be unsupported in SafariThe list so far looks like this:
- Keyboard Navigation is not supported.
accesskeyattribute is not supported
- You cannot tab to links or most form elements
- Some form elements are not properly supported
titleattribute is ignored (demo)
- Table accessibility is severely limited
- Aural browsing
summaryattribute is not spoken
abbrattribute is not spoken
longdescattribute is not spoken
- Does not support the
<q>element (for inline quotations).
In addition, it's not entirely sure how Safari handles the
attribute. Not sure what this
lang thing is? Here's what the
World Wide Web Consortium has to say about
And given what we already know about the lack of support for screen readers, it's probably safe to suggest that the support is not going to be great (if it exists at all!)Language information specified via the
langattribute may be used by a user agent to control rendering in a variety of ways. Some situations where author-supplied language information may be helpful include:
- Assisting search engines
- Assisting speech synthesizers
- Helping a user agent select glyph variants for high quality typography
- Helping a user agent choose a set of quotation marks
- Helping a user agent make decisions about hyphenation, ligatures, and spacing
- Assisting spell checkers and grammar checkers
Most browsers allow users to navigate between links and form elements with the tab key. This is known as keyboard-based navigation. Users with motor and visual impairments rely on this.
Safari supports tabbing, but only to text-input form elements. For those
elements, it even supports the
tabindex attribute. Tabbing
to other focusable elements (e.g. anchors, checkboxes) is, unfortunately,
not supported. Like most applications, Safari supports spacebar for page
down and arrow keys for line navigation. Safari also has one proprietary
keyboard navigational feature: Apple Command Key n
takes you to your nth bookmark.
Usability is directly contingent upon keyboard accessibility. Everyone benefits from keyboard accessibility. Users with some physical disabilities may have little or no manual dexterity and/or increased tendency to push unwanted buttons or keys. These users rely on keyboard navigation because using a mouse is difficult or impossible. Users with visual disabilities also rely on keyboard navigation because it is difficult or impossible to track the cursor. Users with no impairments also benefit from keyboard navigation because keyboard navigation is easier, more convenient, and less strenuous on the hands.
Imagine filling in the text inputs of a form but not being able to navigate to any checkboxes, radios, or the submit button? I invite you to try it to see just how frustrating it is.
HTML 4 form elements in Safari have even more problems which I'll discuss next.
Structural Form Elements
identify and extricate groups of form elements. The fieldset element structurally
groups form elements while the legend element labels such fieldsets.
Safari supports neither the
<fieldset> nor the
Some users require a screen reader. This reader interprets the document and presents its content and structure to the user in a spoken format.
Apple's Speech is found under the Application menu. In Safari, it is the under Safari > Services > Speech > Start Speaking. Safari does not offer a keyboard shortcut for Start Speaking, but iCab does (Apple Command Key 9 to start speaking and Apple Command Key shift - to stop speaking)
Safari requires a text selection before speech will work. Speech starts at the top of the selection and reads to the end of the selection without pause. This requires that the user perform a special cursor technique of click-hold-drag-scroll-release to obtain a selection. This technique takes time with long documents, but is usually more desirable than select-all because select-all also selects navigational links.
Safari will only speak rendered text. That is to say, Safari will only speak text content that has been parsed and rendered on the screen. This is problematic in many ways.
When navigation is structurally included last in the document and then positioned at the top of the document with CSS, Safari will speak the navigation first. This is almost never desirable.
longdesc of the
<img> element provides
users with visual impairments access to alternative content. When the
img element is found, the screen reader is supposed
to either download and speak that text or allow the the user to pause the
text in the current context of the page, download, and then speak the text.
Safari ignores the
abbr attribute of the th element is for abbreviating long
table headers, such as "Scholastic Achievement Test" to SAT. This allows the table headers to
fit visually on a page while also providing a structural and semantic alternative
for assistive technologies (e.g. screen readers). Safari does not support
are ignored by Speech in Safari, as are the phrase elements <strong>
and <em> as are all other structural and or semantic elements. Safari
uses Speech to speak rendered text.
The thead and tfoot elements provide structural groupings for table elements.
tableelement was designed to represent relationships among data ("data" tables). Even when authored well and used according to format specification, tables may pose problems for users with disabilities for a number of reasons:
- Users who have serial access to content or who navigate sequentially to a table may have difficulty grasping the relationships among cells, especially for large and complex tables.
- Users with cognitive disabilities may have trouble grasping or remembering relationships between cells and headers, especially for large and complex tables.
- Users of screen magnifiers or with physical disabilities may have difficulties navigating to the desired cells of a table.
Safari does not support the
Summary of Safari's Accessibility Support
In short, Safari makes it difficult - if not impossible - for anyone with a screen reader to use the web. For people who prefer to use keyboard shortcuts for speed (or perhaps because they have motor deficiencies that make moving a mouse around problematic), Safari is not at all helpful.
Although Apple has been supporting its own text-to-speech since classic, it has not yet been effectively integrated into Safari. This is a shame, given that the Macintosh speech engine sounds markedly better (to my ears) than that used in Windows.
So, while we can all get a little excited about a new browser development, about how cool it looks, about how well it manages bookmarks or whatever, the truth is that there is still work to be done to make the browser usable for a wider audience.
Feedback on this article
Safari is a new browser and as such many bugs will be fixed in subsequent releases. This might be true for accessibility oversights also. There may also be more problems with the browser not noted here - if you do spot anything, please drop us a line using the Contact Us page.
Finally, there may be features in Safari that positively improve some aspects of web accessibility. If you have any of these, please let us know what these may be and the article will be updated accordingly.
- Garrett Smith's Safari Bug Page (on DHTMLKitchen.com) [link since removed]
- Mark Pilgrim's Safari test page
- Dave Hyatt's web log (Dave Hyatt being the main developer behind Safari)
- Web Content Accessibility Guidelines 1.0
- Web Accessibility Initiative Homepage
This article was written collaboratively by Ian
Lloyd and Garrett Smith. Garrett
carefully and systematically tested and researched the Safari browser, while
Ian merely got his dictionary and thesaurus off the shelf then kicked a
few words around the page in DreamWeaver ;-)
Ian works as a senior web designer at Nationwide Building Society where they take the matter of accessibility very seriously. Outside of work, he enjoys a spot of scuba diving and travelling.
Garrett Smith is Lead Developer of DHTML Kitchen, a Boston-based Java and DHTML Consultancy.