Need for Unique Strings for Different Links

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
mgifford's picture

In a recent WCAG 2.0 presentation I was attending it was stressed that websites should not be using the same text to link to different URL's. So, with a generic Drupal blog when the teaser node produces 10 or so "Read more", "Add new comment" or "Send to friend" links, each going to unique URLs for the corresponding post it becomes very difficult for screen readers to navigate.

In an accessibility blog post I wrote about quick accessibility enhancements, I described an easy way to make the Read more link more descriptive. I believe it's also got some both SEO & click through advantages too.

Unfortunately, there's no simple way to do this for the string of other links that are displayed with the teaser. I think it would be beneficial for some modules to make it a configurable option whether or not a link is displayed in the teaser vs the node view. I've also heard for calls for user definable short or full full links. Most users are not confused by having 10 or more text links using the same string, because it is in context. Hiding extended descriptions with CSS would be a good way to manage this.

We've been doing more work with the Government of Canada and are interested in enhancing the accessibility of the basic theme we've developed for the Common Look and Feel (CLF 2.0 guidelines) and the discussion forum we've set up for it.

In anycase, would be interested in hearing other people's approaches to this problem.

Mike
OpenConcept Consulting

Comments

...

andrewmacpherson's picture

...

Without editing themes?

Brigadier's picture

When you say there's no simple way, I take it you mean without changing the theme?

I think I've seen the teaser vs node option for some modules. It'd be nice if it were normal across the board. What would be a sensible way to present options for choosing text to insert in to links? Things like node title, tags and other attributes make sense.

I'm not really sure how it would work

mgifford's picture

So let's say you've got list of teaser pages on your home page and each one has:
» Add new comment | Read more | 37 reads | send to friend

I improved this by modifying the Read more to include unique text:
» Add new comment | More about Example Article Title | 37 reads | send to friend

I guess to eliminate all duplicated link text you'd have to remove references like "Add new comment" and "send to friend" to the list view.

Alternatively you could make it very long by appending the title to each:
» Add new comment for Example Article Title | More about Example Article Title | 37 reads | send Example Article Title to friend

But that's getting pretty unmanageable. Would be nice if there was a way to customize how the link text was managed without having to do string manipulation with the $links variable.

Mike

OpenConcept | Volunteer Canada | prax.ca

A more complicated way to simplify it

Brigadier's picture

Would be nice if there was a way to customize how the link text was managed without having to do string manipulation with the $links variable.

Definitely agree with you there. The ui for that could be tough to get right.

Placing the post title after the "Read more" text makes sense at first but in practice it can be pretty awkward. Many titles just don't finish that sentence very well. On top of that it doesn't actually guarantee that you're preventing duplicated link text. If someone has a weekly post titled "Thing of the week" then there could easily be several "Read more about Thing of the week" links.

I think the requirement to never duplicate link text ignores context. A user can have several windows open that have buttons with the same names doing different things. They need to rely on context to differentiate. This is just my opinion at the moment, I haven't done testing and I don't rely on a screen reader.

The Read more link and others could be more descriptive / less terse but I also think some intro text for the links area (when there are several) would be helpful. For example:

37 visitors read this post. Actions for this post: Add a comment, Read the rest, Send to friend

Multiple windows is not an issue

Cliff's picture

Brigadier said:

I think the requirement to never duplicate link text ignores context. A user can have several windows open that have buttons with the same names doing different things.

Assistive technology works on one screen at a time—that is, the screen that holds focus. (You might also think of it as the active screen—the one where any command or data you enter will be received.) So if the same link has the same text on different screens, that's not a problem. The person relying on assistive technology will be reading (or hearing) information from the active screen only.

Brigadier also said:

They need to rely on context to differentiate.

They can rely on the context only if it is there. Bear in mind that one way assistive technology lets your skim the contents of a page is to listen to only the link text. In that context, you don't hear headings, unless they are also links to other locations. So in your example, all a person who is using AT to skim a page would hear would be:

"link: Add a comment"

"link: Read the rest"

"link: Send to friend"

If that text appears more than once on your page, the person using AT would hear that list repeated each time the text appears.

I'm still mulling this one. Just realize that it takes a knowledge of how AT works to be sure a proposed solution has a chance of working. And even then, we would need to test it on real users before we could be sure the proposed solution does work.

Fangs Emulator Rocks!

mgifford's picture

I'd highly suggest installing this extension:
https://addons.mozilla.org/en-US/firefox/addon/402

It nicely displays how Jaws would read it.

Mike

OpenConcept | CLF 2.0 | Podcasting

Improved Fangs is more useful

Cliff's picture

Standards-schmandards.com has the latest version of Fangs. If I recall correctly, the latest version actually shows you what JAWS would read under three different scenarios:

  1. Read the whole page
  2. Read only the headings
  3. Read only the links

JAWS users have—but don't always know about—still more options, such as "If the link has a 'title' attribute, read that instead of the link text." Then there's "Forms Mode" and "Tables Mode."

That's probably why two folks who have vastly more experience than I were at best lukewarm about the latest version of Fangs when I asked for their feedback. In their opinion, it still can't completely replace user testing as a way to ensure that you've overcome all barriers to accessibility.

Having acknowledged their opinion, I gotta say that I find Fangs to be a highly useful tool, especially when I need to quickly illustrate to a Web developer that their page isn't all that accessible, after all.

Jaws Output

mgifford's picture

For those folks who would like to see the Fangs output without installing it, I've just written a short blog about it here (for this page):
http://openconcept.ca/blog/mgifford/fangs_unique_strings_and_drupal_disc...

Hopefully it is useful to help illustrate some of the problems with non-unique strings for unique links.

You make some great points Cliff, thanks!

OpenConcept | CLF 2.0 | Podcasting

Webanywhere

Brigadier's picture

I've used Fangs but I think Webanywhere is more illustative and very easy to reach. Only relies on flash. It seems like they proxy requests so I imagine it'll die if too many people like it though.

Neat.

mgifford's picture

Thanks for posting that. Don't think that many folks will be listening there for that long. Sighted folks generally have a pretty low patience for machine read text.

OpenConcept | CLF 2.0 | Podcasting

Exactly

Cliff's picture

Yeah, lack of patience on our part is the reason Fangs rocks. I can tell at a glance if I've covered the bases.

Still, Webanywhere is useful when I need to give someone who has never experienced machine-read text a sample of that interface. Put it together with Fangs and they can get the best of both worlds: An understanding of the problem plus a quick view of how our page stacks up.

Brigadier, thanks for that link. I had heard of Webanywhere and had meant to find its url but had not gotten around to doing it.

Skimming links

Brigadier's picture

Yeah, if they're skimming links they'd hear repeated text from the screen reader in my example.

With "Actions for this post" styled as a low-level header then someone skimming headers would hear the post title followed by "actions for this post," and reading from there the subsequent "link: Add a comment", "link: Read the rest", "link: Send to friend" makes more sense. It's not a perfect example but I do think it's simple and it would work for many users.

Context is tricky since audio is linear but it does still exist.

Using CSS to Hide Values

mgifford's picture

So should we just be using CSS to hide values? Using something like this:
http://www.webaim.org/techniques/css/invisiblecontent/

From HTML like this (using an example from this thread):

      <div class="links"><a href="/comment/reply/17627/61407">reply</a></div>

To a much more descriptive text that is hidden to everyone who is using the default CSS to browse the site:

      <div class="links"><a href="/comment/reply/17627/61407">reply<span class="hidden"> to comment Without editing themes? within post Need for Unique Strings for Different Links</span></a></div>

Using CSS something like:

.hidden
{
position:absolute;
left:0px;
top:-500px;
width:1px;
height:1px;
overflow:hidden;
}

As the WebAIM article states, with this approach:

"sighted users will never know that the content is there at all. Screen reader users, on the other hand, will never realize that this content is invisible to sighted users. Both kinds of users will be able to use the content intuitively, without having to adjust for either too much or too little information in the markup. "

OpenConcept | CLF 2.0 | Podcasting

Maybe

Cliff's picture

It depends. If you put a link out there, which is what you would have to do for that content to get into the "links only" output, then I think search engines will hammer you for having hidden links. Perhaps I'm off base, but see this item in the WebAIM forum and see what you think. It seems to me that I also heard this from someone who had hidden site navigation to the left in a format that was easier for screen readers to interpret (on screen, things that worked aesthetically from a visual standpoint created problems for screen readers).

On the other hand, if the item out there is a heading that you want only screen readers to pick up, that's perfect. There are no penalties for hidden headings.

It's interesting that your example hides the text above the screen. I don't know that it matters where you hide it—left, right, top, bottom. If it does, that would be worth knowing.

Research Required

mgifford's picture

Would be so much easier of the search engines were just up front about how to approach this kinda thing.

"But here you are doing different thing. You are not linking to a different site through hidden link. You are just hash linking (#) a part of the same page. So this will not be banned."

However in the instance I provided we're not hash linking. We're linking within the site, but not within the page. Also, unlike the 'Skip Navigation' example that is pretty common for this, I was suggesting hiding just part of one link. Mind you it might be easier to set up two links and hide one of them.

"Secondly while you are making the text invisible, make it through css and don't use "visibility: hidden;" use "display: none"."

Good to know this. I've been using display:none, but didn't know that one was better than the other.

We definitely need more research on this. Hopefully some of the SEO folks will contribute to this thread.

Mike

OpenConcept | CLF 2.0 | Podcasting

Just Follow WCAG 2.0 Suggestions

mgifford's picture

So ultimately we just need to follow WCAG 2.0 requirements and we should be fine. See:
http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/C7

If there are any other concerns about this let me know. Otherwise I'll roll up a patch.

Mike

OpenConcept | CLF 2.0 | Podcasting

Don't need to cover every case I figure

mgifford's picture

I started this just blaming stupid users, though this probably isn't fair. They are probably instances when an automated system may need to produce a "Report of the Week" type of title, but that's the exception not the rule. Users need to be aware enough when they are adding content to know that titles should be both unique & descriptive. If there's some case where there are 20 "Report of the Week" reports in a week I suppose that one could add a [date] field to the title or something, but that seems live overkill.

99% of content (I'm making this up) is going to be unique titles with unique links. We don't need to worry about duplicate titles in this instance.

It does actually help with SEO to be providing links to "Read About My Unique Topic" rather than just "Read more". I don't have anything conclusive on this, but there are reports like:
http://drupal.org/node/49428

It's not providing for every case that matters, its providing for the default case, say Drupal.org, right now there are about 5 of these sets of links on the home page:
» 87 comments · 37 new comments · Read more

The title is also a link, so this makes it easier to navigate, but 87 comments or 37 new comments doesn't provide useful information for a screen-reader. Read more definitely isn't enough for someone to know about what. Screen-readers don't have the context.

I do like your example of a clearer output from the $link variable.

OpenConcept | CLF 2.0 | Podcasting

Link wording is very important to SEO

Cliff's picture

In the Accessibility 101 class I've sat in on at Knowbility's John Slatin AccessU, among other conferences, that point is made very clear: One factor that goes into the mix of ranking a page in search results is the wording of links pointing to that page.

If 100 links pointing to your page say "Read more" and one says "Accessible Themes for Drupal," guess what Google will assume is on your page?

All other things being equal, to come out ahead of your page in Google searches for Drupal+themes+accessible, my page would need only two links pointing to it, so long as both said "Accessible Themes for Drupal."

Good Point

mgifford's picture

I'm going to bring this up in the SEO group and see if I can get some response there.

There's also some usability questions about whether "Read More" encourages to link vs other strings of text like "More on", etc. Would be nice to get some quantitative data of what works.

Mike

OpenConcept | CLF 2.0 | Podcasting

Not sure what I'd do with 87

Brigadier's picture

Not sure what I'd do with

87 comments · 37 new comments · Read more

But even reading it, that doesn't flow very well.

It comes down to customization and author understanding. Like you said, the author has to know the title should be descriptive in different contexts if that's how the title will be used. Alternatively there could be other info the author creates for the "read more" and related links (something that will finish the sentence basically).

Displaying Content for Two or More Audiences

mgifford's picture

Essentially it does come down to having it be something like this:

» More about Example Article Title · Add new comment for Example Article Title · send Example Article Title to friend

Might also be good to reorder it so that it follows some sort of logic. Would be good to have some examples of where this is done in other places (other than our site):
http://openconcept.ca/topic/government

Mike

OpenConcept | CLF 2.0 | Podcasting

In essence there is no

jeff1970's picture

In essence there is no reason why we cant do this now. Links are handled by each modules implementation of hook_link, so its just a matter of find all those in core, listing them and then getting to work writing the patches. Certainly I could do this however time is against me at this moment due to work in the theming track for D7 improvements.

I think we'd need to wrap node and comment titles (comments have links also) in a span and hide it to reduce visual clutter. I could write an example patch for node module (read more link) and use one of the proposed hide/remove classes on it.

Have an issue here to link it to

mgifford's picture

Everett just set up this issue here: http://drupal.org/node/526712

Getting the l() function to accept a parameter for hidden link text will be good.

Mike

OpenConcept | CLF 2.0 | Podcasting

Any real facts on SEO

Everett Zufelt's picture

Thanks Mike for posting the issue link above.

Wondering if anyone has any solid facts, as solid as they get, to show that having a portion of the linked text styled to be invisible will adversely effect SEO?

Also, the style that I would ideally like to use to make this content invisible is:

.visibility-invisible {
height: 0;
overflow: hidden;
}

Please give your support to the visibility style issue at http://drupal.org/node/473396 .

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Google is smart enough

mgifford's picture

There's a lot of black magic hocus pocus in SEO. Google had representatives in the WCAG 2.0 process. They certainly know about it, and I'm sure they have already tweaked their engine to accommodate it.

Unfortunately, Google isn't very consistent or straight forward about this particular point.

Mike

OpenConcept | CLF 2.0 | Podcasting

Everett Zufelt's picture

Just reopened this old issue to see if we can get a resolution for "Read more" into Drupal 7 core.

Include node title in "Read more" link for better accessibility and SEO - http://drupal.org/node/49428

Would love supportive comments and any ideas on how we can implement this.

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Don't shoot me, but...

Cliff's picture

Everett, I have been re-reading an article Jim Thatcher wrote a couple of years ago on how to handle repetitive links. I used to interpret that article to mean that it's desirable to add text that (a) is hidden from view but read by screen readers and (b) uniquely identifies the target of each repetitive link.

But today I get a different meaning. I think Jim's point is that we should first check to see if the context makes the meaning of the link clear. In Drupal pages, I think it does.

For example, if I go to the Accessibility group's page right now, the first two discussions going on today are "D7 Accessibility Taskforce Meeting Summary (July 27, 2009)" and "g.d.o CAPTCHA is poorly accessible." The heading for each discussion is also a link. Within the block displaying the first snippet of each discussion, we have a series of links. Among these links, the most similar are near the end of the block: "Read more," "X new comments," and "Y comments" (where X and Y are the respective quantities).

On the surface, it would seem that all those "Read more," "new comments," and "comments" links would be inaccessible. But that surface impression might be wrong.

Because the heading for each discussion is also a link, a person who is using a screen reader and prompts the screen reader to read all the links would hear something like this:

link D7 Accessibility Taskforce Meeting Summary (July 27, 2009)
link 1 comment
link Read more
link g.d.o CAPTCHA is poorly accessible
link 13 comments
link 1 new comment
link Read more

People who see this list (or who see the page as rendered in a browser) can tell that the first "Read more" relates to the meeting summary and the second relates to the discussion of CAPTCHAs. People who hear this information from a screen reader are no less intelligent. They can tell that the "comments," "new comments," and "read more" link pertain to the item whose title they just heard.

So, if I understand Jim's article correctly, he thinks that these links are accessible under WCAG 2.0. That makes good sense to me.

Search engine optimization is another matter. I'm no expert in that area. From what I understand about SEO, I get the idea this pattern of links:

g.d.o CAPTCHA is poorly accessible
13 comments on "g.d.o CAPTCHA is poorly accessible"
1 new comment on "g.d.o CAPTCHA is poorly accessible"
Read more about "g.d.o CAPTCHA is poorly accessible"

would be four times as effective as this pattern of links:

[[http://groups.drupal.org/node/24689|g.d.o CAPTCHA is poorly accessible]]
13 comments
1 new comment
Read more

when it comes to making this page rise to the top of lists of results when people search for "g.d.o," "CAPTCHA," "poorly accessible," "CAPTCHA poorly accessible," or the like.

So, ideally, every link to a page would include keywords that would help search engines know what content people could find there. But using this approach to get a higher ranking in the search results would add a certain amount of clutter to the page -- visual clutter for those of us who can see; auditory clutter (or "noise") for those of us who rely on a screen reader.

On the other hand, for every "read more" link pointing to a discussion, Drupal includes at least one link that is worded with the actual title of that discussion. So the page should get a few additional points when the search terms appear in that title.

So I guess the question is whether getting four times as many points from link text is worth adding all that clutter to the page. My inclination is that it isn't. But others might know better than I do.

Cliff

Bang, bang

Everett Zufelt's picture

@Cliff

I agree, that individuals using a screen-reader should not be thought to be less intelligent than those who do not, however, it is worth pointing out that not having access to the grouping of information through a visual modality can make it more difficult to interpret the meaning of the information.

But, you don't have to take my word on it.

(Taken from "WebAIM: Screen Reader Survey Results" http://webaim.org/projects/screenreadersurvey/ )

How difficult are different links with the same text repeated multiple times on the same page (e.g., "more", "add to cart", "details")?
Response
% of Respondents 
Very easy
20% 
Somewhat easy
25% 
Somewhat difficult
31% 
Very difficult
13% 
I don't know
10%
table end

An almost identical number of respondents found repeated links easy as found them difficult. 69.4% of evaluators found them difficult compared to only 42.6%
of those that always use a screen reader. Those with higher screen reader proficiency naturally found these links easier.

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Bang bang ?

JimThatcher's picture

Every time I see the WebAIM survey quoted I cringe. As they say up front, it is not a good survey - people who wanted to respond did. It is not a statistically sound result.

The condition on link text which Cliff was talking about (context providing required information) is exactly what is now a priorty 1 requrement of the Web Content Accessibility Guidelines; that the link text alone be adequate is priority 3. After literally years of study and debate, that is the conclusion of the WCAG Working Group.

:)

tbsaunde's picture

@jimthatcher This seems reasonable. personally I would just assume not have the clutter and just have "read more" etc. However having a choice isn't bad. Also as for visual context true you don't get that but you get the text content witch is usually equivelently good.

WebAim says what?

Everett Zufelt's picture

@JimThatcher

"As they say up front, it is not a good survey - people who wanted to respond did. It is not a statistically
sound result."

I took a look at the WebAIM survey page and nowhere did I find them stating that "it is not a good survey". Nor do I believe that the survey is statistically unsound.

Does the survey answer specific questions about specific sites? No. Was the group of participants controlled for education level, Internet experience, or any other factor? No.

Does the above mean that all data and findings of the survey are meaningless? In my opinion, it does not.

What we know from the survey is that out of the respondents over 40% generally find repeated link text to be at least somewhat difficult. Does this necessarily mean that we need to modify the behavior of Drupal core? Not necessarily. Is it worth investigating the matter further to see if modifications are desirable, despite what WCAG 2.0 may suggest? In my opinion the matter is worth further discussion and investigation.

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Background on the WebAIM survey

Cliff's picture

Everett, Jim and I are on the WebAIM e-mail discussion list. In e-mails to that group, WebAIM's Jared Smith made it clear that the survey is not statistically valid, specifically because the data came only from people who learned of the survey and chose to participate. So there is no guarantee that the people who answered represent the full range of people who use assistive technology or even the full range of any particular subset of that group. It's in that sense than Jim means it's not a "good survey," and Jared would be the first to agree.

On the other hand, I think Jim would be the first to agree with us that the survey is valuable. For example, it led many accessibility specialists on both sides of the issue to reconsider their rules for "alt" text. Demands for "just the facts" softened on learning that sometimes the aesthetic experience matters to the person who is using assistive technology. Demands that "alt" text describe every detail of every image withered on learning how many people are annoyed by hearing more than just the facts.

When it comes to repeated link text in Drupal pages, I wonder: Haven't we made sure that each topic's title will be tagged with the appropriate heading level? (I'm asking because I know my memory is weak on this point.) If we have, doesn't that give people who rely on assistive technology a way to skip from topic to topic without having to listen to all the intervening links?

No one doubts that repeated links are annoying to anyone can't choose to avoid them, but let's be sure we are addressing problems that haven't been either solved or made irrelevant by other recent improvements.

Have we already done enough? If not, what functional problems remain?

Cliff

What problems remain

Everett Zufelt's picture

@Cliff

Thanks for the engaging response, this is what I'm talking about, an interest in investigating the issue to see if there is something that needs to be resolved.

I will be doing some screen-reader user testing with a Drupal install. Can you recommend a methodology through which we can assess the "read more" link without asking the user any leading questions? Perhaps an on-site task, or a post testing survey question?

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Doubt user tests are the answer in this case

Cliff's picture

Everett, if we (and by "we" I mean "a lot of people other than Cliff," because I've done nothing but offer a thought now and then) have somehow built structure into these pages, then I don't think a usability test will tell us much. One interesting outcome of the WebAIM survey was how little many people who use JAWS or other assistive technology actually know about their software. (Jeez, you would think they were people who could see and were using Word or something!)

To some extent, the message I take from that is, "Don't rely on 'title' attributes to make a link destination clear." That would probably be the easiest thing to build in: Each "Read more..." link would have a unique 'title' attribute that identifies its destination. In principle, that solves the accessibility issue — except that almost nobody who uses JAWS knows that they can get it to read the 'title' attribute of links. And of the few I have met who do know how to make JAWS do that, none will use that feature regularly. (It isn't the most usable of the software's features.)

But to some extent, I also get the message, "Build structure into your pages, and trust that people who rely on assistive technology will learn how to use it to take advantage of that structure." The WebAIM survey tells me that a number of people who use screen readers don't know that yet — just as many, many people who use Word don't know the difference between (a) making a document look like it has headings and (b) making sure that Word, JAWS, Google, and everyone else who can't see knows that those particular words are that document's headings.

Because the WebAIM survey is not statistically valid, we can't be sure what percentage of folks who use screen readers know about and regularly use the features that reveal page structure. But I would guess that the people who knew about and participated in that survey know more than most about the features of their chosen assistive technology. And if a user test tells us that none of the users we tested know how to examine page structure with their software, for one thing, and how to exploit that knowledge to navigate smoothly through a well-structured page, for another, then what do we do?

It seems to me that the best answer is for those folks to learn more about their own software. They'll need that knowledge to navigate any electronic document. Shouldn't we trust that they will get that knowledge? After all, the alternative is to clutter up our page for everyone just to make things easier for those people who aren't taking advantage of the features of their own software.

And please understand that I'm saying this quite sympathetically, not at all critically. Most of what I do at work lately has been to teach people about all those features of Word that I alluded to above — the ones that make it more than a paperless typewriter.

done and done (and not done)

greggles's picture

Cliff said:

To some extent, the message I take from that is, "Don't rely on 'title' attributes to make a link destination clear." That would probably be the easiest thing to build in: Each "Read more..." link would have a unique 'title' attribute that identifies its destination.

You know that's done, right? It's not done here on groups.drupal.org but in d6 by default the "read more" has a title that includes the full node title.

@Everett - I'd love to do some usability testing of the read more link. What is the best way to do this? I can imagine that geographical mobility is difficult for people with limited vision. Should we look into going to a some place where a lot of vision impaired people are (a specialized school perhaps?). I'm interested, but stabbing in the dark for ideas on this one. Please do enlighten me ;)

--
http://growingventuresolutions.com | http://drupaldashboard.com | http://drupal.org/books

Possible groups for user testing

Cliff's picture

@Greggles, I just remembered that I know someone who might be able to put us in connection with a British program that connects people who want to do the type of tests that you describe and people who have disabilities and are willing to participate in such tests. I'm hazy on the details, but if I dawdle too long, feel free to ping me either here or on Twitter (@clifftyll).

Then there's test administration. Unless someone in the Drupal community can easily do on-site tests in the UK, we might be talking about setting up remote testing. That's not out of the realm of possibility.

That would leave us with the issue of test design. As our discussion continues, we might come up with quite a valuable test. Perhaps more than one.

Cliff

Hi Cliff, all, I think the

chetzcolwell's picture

Hi Cliff, all,
I think the organisation you are thinking of that conducts remote user testing may be Usability Exchange http://www.usabilityexchange.com/
I haven't used them myself, so can't vouch for their effectiveness, but it certainly seems a good idea.

Regards,
Chetz

Problem solved; be careful what you test

Cliff's picture

OK, I finally did something I should have done first: I used the WAVE toolbar to check the accessibility of our Accessibility group page. Already, the title of each item is not only a link to that respective topic but also an <h2> (level-2 heading) on the Accessibility page. This makes the page accessible and removes the barrier that seems to be there when we see all those links that repeat the text of other links but go to different destinations.

Here's why: Using assistive technology (AT), you can command the software to display only the page headings. If you do that with our Accessibility page, you get something that is a lot like a table of contents:

  • The main heading (<h1>) is "Accessibility"
  • Each topic is listed as a level-2 heading (<h2>).
  • Some topics have level-3 headings (<h3>s) beneath them.
  • No text other than those <h3>s appears between the titles of the respective topics.
  • Hearing this list of headings would give you the same overall understanding of what's on this page as you would get by seeing the page. (In some ways, it would be better. You would not be confronted with content that your eyes must filter out to get the same effect.)
  • It's easy to identify and go to any specific topic that interests you.

Even so, there is some repetition in this list: Both of the D7 Task Force Meeting Agenda & Working Page items have an <h3> that reads, "Next Conference Call." But that isn't a problem, because in reading or listening to this list of headings, anyone can tell which <h2> each respective "Conference Call" <h3> goes with.

Similarly, there are no problems with the many "Read more" and "Add new comment" links on the Accessibility page. To get to one of those links, I have to first tell my AT to take me to the blurb under that particular heading. From there, everything I do is in the context of reading (or hearing, actually) that one blurb. When I encounter "Read more," I know that I have an opportunity to read more about this topic. I won't encounter another "Read more" without first encountering an <h2>, and the fact that I've encountered an <h2> tells me that I'm in a new topic.

So the person using AT should have no less trouble interpreting the destination of each "Read more" than a sighted person would have. Either one might get disoriented and accidentally click on the wrong link, but that's unlikely. Taken together:

  • The design is usable.
  • The experience is equivalent.
  • So the page is accessible.

So if you set up a usability test, you must first ensure that the participants not only understand how to use their AT to skim page headings but also are willing to use that feature. Otherwise, you're not testing the accessibility of a page built in Drupal — you're testing how frustrating it is for people who either don't understand what their AT can do or refuse to use their AT's most powerful features.

The WebAIM survey already tells us that people of both types use AT. That's a problem, but no solution to that problem can be built into Drupal's code. The solution is for those people to learn what their AT can do for them and use it in the way that makes it do that.

I think I've made my point, but if you're not so sure, think of it this way: To make a multilevel building accessible to people who rely on wheelchairs for mobility, you would add a ramp, an elevator, or both. But you might also add stairs for others to use.

What if you were to ask a group of people in wheelchairs to test your building's accessibility by trying to go from one level to the next and some of them were to say, "We can't use those stairs"?

  • Would you try to build a staircase that works for wheelchairs?
  • Would you try to build a wheelchair that can ascend a staircase?

<

p>Of course not. You would expect them to learn how to use the ramp and the elevator — just as those who have built accessibility into Drupal by making each topic's title an <h2> should now be able to expect people to take advantage of that feature when using AT to navigate through the page.</p.

So if you test the results of their work, be sure to do so with people who won't ignore its best features.

What should be tested

Everett Zufelt's picture

@Cliff

Thanks for taking a look at the structure of the page. Your findings are helpful.

I have reflected somewhat on your argument about making sure that those involved in testing are familiar with all of their ATs features, and know how to use them.

I suppose that my concern comes down to user expectations. What should we reasonably expect a screen-reader user to know how to do. The webAIM survey would suggest that we should not expect a majority of users to know how to access the title attribute.

I come to this fork in the accessibility road on a fairly frequent basis. Making sure that a document is technically accessible, does not necessarily mean that assistive technology users will be able to get the most out of the document, and isn't that our goal at the end of the day?

I'm not really sure what the solution to this problem is, and clearly training is needed for many AT users. Unfortunately training is often difficult to find, and sometimes expensive. Should we not take into consideration the complexities of using a screen-reader and , the average training level of those who do use screen-readers when determining if a document is going to be as meaningful as we would like it to be?

Accessibility Consultant & Web Developer - Zufelt.ca
@ezufelt on Twitter | LinkedIn profile

Let's not confuse titles and headings

Cliff's picture

@Everett, I agree wholeheartedly that we should not rely on title attributes to identify link destinations. Just to be sure we're being clear, the title attribute is one possible component of an anchor tag. In this not very elegant example, I've done a pretty crummy job of telling people where the link goes:

<a href="http://groups.drupal.org" title="All Drupal Groups">g.d.o</a>

because it's hard to get information from a title attribute, for one thing, and the value of title attributes is so variable that to rely on them for information would be an inefficient strategy for navigating the Web.

Instead, I'm pointing out that the items now coded as headings are easy for people using AT to get to and incredibly useful for locating specific chunks of content. In JAWS, pressing Insert-F6 takes you to a list of the headings on the page. At that point, to find the heading for the chapter or section that interests you is as easy as skimming a table of contents. When you have found that heading, it's easy to go to its portion of the page. And if you do that on the main Accessibility page, once you get to that part of the page, you have a well-defined unit that contains no systematically repeated link text. That's the key point: Find a heading and go to it. Then, before you encounter a second link reading "Read more," "Add new comment," or "Cliff," you would necessarily encounter another <h2>. That <h2> would be your clue that you're in a new section, so you should expect a new set of those systematic links to follow.

Unless you happen to know the actual text of a specific link on the page, using the list of headings is the most powerful way I know of to use JAWS to drill through content to the specific part you want. But the WebAIM survey revealed that people who use AT tend not to use that approach. When I examine the so-called "structure" of many current Web pages, I can see why: Headings aren't used enough and, when used, are often not used wisely enough to help people use them to grok (definition: get a sense of the overall organization of) the page. This page we are on right now is a good case in point:

  • The main heading, "Need for Unique Strings for Different Links," is an <h1> (which is good, but from here we go downhill)
  • The heading for each comment is an <h3> (which is not so good — we've skipped a level)
  • The content of the headings for the various comments does not always help us tell what that comment is about — for example,
    • One deleted comment simply has an ellipsis for a heading
    • Another comment has a heading that JAWS would probably announce as "semicolon close parentheses"
    • One participant has a penchant for such uninformative headings as "Exactly," "Maybe," and "Don't shoot me, but …" (I wonder who that might be)
  • Sometimes, headings are coded into comments — so we have something coded as an <h2> that actually should be subordinate to an <h3>, but of course no software can infer that relationship. (Tell me the text and the heading levels, and I would wonder why the <h2> "Mike" was the heading of a section containing the <h3>s "A more complicated way to simplify it," "Multiple windows is not an issue," "Fangs Emulator Rocks!," "Improved Fangs is more useful," and "Jaws Output." I would also wonder what concept could possibly tie all those <h3>s together.)

So I would hate to have to make sense of how the content of this page is organized simply from the structural cues embedded into it. In fact, I don't think I could. For example, should I read the heading of "Maybe" on one of my comments as a reply to the <h3> immediately preceding it, or was "Maybe" the second reply to some comment farther up the chain with all the <h3>s in between marking responses to the first response — or even to a response to the first response? So although the main page for a forum is in pretty good shape, the pages for individual discussions are not.

So what should we do? (Disclosure: As one who is guilty of mainly lobbing grenades into other people's plans for making improvements, I'm not among the "we" who "do" any of this.) Here's my suggestion:

  • Chip away at the various types of Drupal pages to build into them structures as effective as those of our main forum pages.
  • Add an "Accessibility Tips" link. (Bear with me.)
  • At the destination of that link,
    • Tell what we have done to optimize the performance of Drupal pages with AT.
    • To the extent we can, suggest techniques that will let people who use AT take advantage of these built-in features.
    • Encourage them to do at least these two things:
      • If they still have problems grokking Drupal pages, join this forum to let people who might be able to fix those problems know that the problems exist.
      • To the extent that they find our approach effective, demand similar features in other Web sites they visit.

You know that old saying, "Give them a fish, you feed them for a day; teach them to fish, you feed them for a lifetime"? Well, the way I see it, if we were to do as I described above, we would be giving them a fish, teaching them to fish, and teaching them how to make other fisheries more productive. (Oh, and we would be giving Cliff something to do besides lob grenades: I could come up with the wording for the "Accessibility Tips" page.)

Am I dreaming, or does that make at least some sense?

Cliff

I think we're good as gold on this issue

Cliff's picture

In Understanding WCAG 2.0, the item for Link Purpose (In Context): Understanding SCC 2.4.4 offers this as one example of the success criterion:

News article summaries — A Web page contains a collection of news articles. The main page lists the first few sentences of each article, followed by a "Read more" link. A screen reader command to read the current paragraph provides the context to interpret the purpose of the link.

So it is actually enough to simply have text before the "Read more" link (or other link with text repeated from elsewhere on the same page) that makes clear where that particular "Read more" goes.
We have more than that: We have a heading before each "Read more" link, and headings are much more useful than text when it comes to establishing context. So we not only meet but exceed Success Criterion 2.4.4.