Goal Check-in #5

This is our last check-ins on progress for our web team goals. The next progress post will be to evaluate how well we did and establish new goals.

1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)

Regretfully, this number has slid up even further, from 5003 to 5107. Much of this has been due to news releases and in the news items (where we track mentions of Lane in news media). Next time we create goals, we’ll definitely be using a much more limited subset of page types. There’s still a bunch of open tasks to eliminate some pages, but progress is likely to be slow, as we’ve had to prioritize other work.

2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)

Somehow, this measure also increased slightly again, from 141 pages to 144 pages. These pages remain primarily internal pages.

3. Reduce the average character count of our pages by 10% (from 4650 to 4185)

With an increase in the count of longer pages, we’ve also had an increase in average page length. As mentioned last goal, this goal is no longer really one of our goals, as we’re deliberately using some longer form content. But I still don’t like that we’ve slipped to 4,140 characters.

4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

We’ve stayed steady on this goal since last post, staying at 17 months old. This remains one of our most difficult tasks, and we’d appreciate any help you can provide.

Traffic Goals

We also had two traffic goals:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

Since these are annual goals, they’re a little harder to compare against. But we can compare similar time periods. For the first ten months, 6/14-4/14, comparing 2016/17 to 2017/18, our session counts have decreased by 13.67%, and our bounce rate has shrunk by 0.83%. This is a bit of an improvement on our bounce rate, but our session counts remain crushing. A glimmer of hope: new sessions are up 8.26%, and average session duration is up 9.98%.

Unfortunately, we’re no longer seeing the increase in traffic on the redeveloped traffic that we used to see, though we are at least seeing level traffic on program pages.

Last post in this series will be in June, when we’ll lay out some new goals for next year.

Goal Check-in #4

This is our fourth of five check-ins on progress for our web team goals.

1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)

Regretfully, this number has slid up since last check-in, from 4948 to 5003. There’s a couple of things behind this: there’s been an unusually high number of news releases, we’ve added pages to support our new slideshows, and we just had a training. There’s still 18 open tasks on our tracker about eliminating pages, so there’s still hope we’ll improve further by our final check-in. But our primary lesson is that we need to improve how we count our public pages – training pages, which no one can see, aren’t really hurting anyone, and we should really stop tracking our progress on them.

2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)

Somehow, this measure also increased slightly, from 136 pages to 141 pages. Usually, these pages are minutes from meetings. Lesson learned: we need an intranet.

3. Reduce the average character count of our pages by 10% (from 4650 to 4185)

Sadly, this measure has also increased a bit, from 3966 to 4058. As mentioned last goal, this goal is no longer really one of our goals, as we’re deliberately using some longer form content.

4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

We’ve stayed steady on this goal since last post, staying at 17 months old. This is one of our most difficult tasks: please help us out! If you look at the listing of pages in your site from the right sidebar on the dashboard, under “Sites I’m responsible for”, you can sort that by updated date. Take a look at some of your older pages; you might be surprised by how out of date they can be.

Traffic Goals

We also had two traffic goals:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

Since these are annual goals, they’re a little harder to compare against. But we can compare similar time periods. For the first eight months, 6/14-2/14, comparing 2016/17 to 2017/18, our session counts have decreased by 11.13%, and our bounce rate has shrunk by 0.01%. This is a bit of an improvement on our bounce rate, but our session counts remain crushing. A glimmer of hope: new sessions are up 7.76%, and average session duration is up 7.98%.

We’re still seeing positive returns from some of the pages we’ve redeveloped. If you work on the website of an academic program, and you’d like to dramatically update your pages, please send us an email. We’ll get in touch about how you can get in the queue for content rewrites. We’re hoping to launch our next redesigned program very soon.

Goal Check-in #3

This is our third of five check-ins on progress for our web team goals. It’s been a busy few months, as we’ve made substantial progress on some of our goals.

1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)

We’ve improved even further since last check-in, when we were at 5072. We currently have 4948 pages, which is a record low for us. There’s another 22 pages we’re actively working on eliminating right now, so I’m hopeful we’ll get under 4900 before the end of the academic year. Don’t be surprised if we come calling to talk about some of your older pages soon!

2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)

We flew right past this goal, getting down to just 136 pages with more than 15,000 characters. Most of that was because we realized old Board minutes could be moved to one of our archive servers, allowing us to remove some of our longest and oldest pages. this way the Board minutes are still publicly accessible, but we don’t need to worry about constantly updating them.

3. Reduce the average character count of our pages by 10% (from 4650 to 4185)

Eliminating the old Board minutes also helped us meet this goal. The average page on our site is now only 3966 characters long. I think we’ll want to stick right around that length – many of our newer pages will be deliberately long (see the new template content later in this post!)

4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

This one’s the hardest for us, and we’ve actually slipped backwards. The average page is now 17 months old. While we’ll certainly keep working on updates, please help us out! If you look at the listing of pages in your site from the right sidebar on the dashboard, under “Sites I’m responsible for”, you can sort that by updated date. Take a look at some of your older pages; you might be surprised by how out of date they can be.

Traffic Goals

We also had two traffic goals:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

Since these are annual goals, they’re a little harder to compare against. But we can compare similar time periods. For the first six months, 6/14-12/14, comparing 2016 to 2017, our session counts have decreased by 7.47%, and our bounce rate has increased by 1.28%. This is a bit of an improvement over last check-in on bounce rates, but a crushing disappointment on session counts.

We’re starting to deploy our revised program pages, starting with the Business Department. SEO is a marathon, and it’ll likely take months before the impact of our work is fully felt, we’re already starting to see some changes. Since November 21st, when we launched our first new program page, we’ve seen some big changes in our statistics, compared to the same period the previous year:

Program Landing Page Unique Page views Entrances Average Time on Page
Accounting 21% 187% 218%
Administrative Office Professional 13% 17% 249%
Business Assistant 7% -75% 24%

I can only guess about the decrease in entrances for Business Assistant, but it might be related to the quality of content on the other program pages. For example, check out what accounting looked like before the redesign. The improved content quality might be capturing people who were actually interested in a degree, and hadn’t realized from a Google search that Business Assistant is a certificate.

We’re not quite ready to release the new program page to the rest of the programs at the college, but we’re getting close. We’ve already started work on CIT, Culinary, and the Arts. As we iron out the last issues with the template (there’s still some pieces missing, even from the pages we’ve already launched!), we’ll be in touch with the other academic departments to start moving to the new program layout.

In the mean time, please help us out! Think about the keywords your page targets, and make sure your content contains those words. And whenever possible, please make sure your page includes some sort of target or goal you’re trying to get your visitors to do. If you’d like help researching keywords, or would like to learn how you rank on Google for various keywords, just ask! We’re happy to show you a couple of reports that we think could help you with your content a lot.

Goal Check-in #2

This is our second of five check-ins on if we’re making progress on our web team goals.

1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)

Still met, but up a little from last check-in. We’re now at 5072.

2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)

Unfortunately, this is unchanged, and we’re still at 232. This is a very hard goal to meet, as many of these pages are either preserved for archival purposes or simply contain a lot of content.

3. Reduce the average character count of our pages by 10% (from 4650 to 4185)

We crept up a little bit, from 4412 to 4466.

4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

Unfortunately, still no progress on this goal. The only plus side is that our pages haven’t gotten any older. Please help us out by editing your pages!

Traffic Goals

We also had two traffic goals:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

Since these are annual goals, they’re a little harder to compare against. But we can compare similar time periods. For the first four months, 6/14-10/14, comparing 2016 to 2017, our session counts have decreased by 3.66%, and our bounce rate has increased by 3%. Last check-in I was optimistic, as our session counts had increased a little, but that appears to have been confined to summer.

Graph of session data for 2017, showing a peak in 2017 similar to 2016 traffic until 2017 gets worse this fallThat graph shows the story. Our numbers were pretty close until Fall, when our session traffic fell as students returned. Previously, we’ve observed that school year traffic changes closely follow enrollment trends, and this year was no exception.

We’ve taken a more proactive stance with these two goals, since they’re critical for the overall health of the college. We’ve been collaborating with the Business Department to work with Lunar Logic to improve our content and structure for Search Engine Optimization (SEO). While we’re not seeing results yet, SEO is a marathon, and it’ll likely take months before the impact of our work is fully felt.

But we need your help with this goal as well! Think about the keywords your page targets, and make sure your content contains those words. And whenever possible, please make sure your page includes some sort of target or goal you’re trying to get your visitors to do. If you’d like help researching keywords, or would like to learn how you rank on Google for various keywords, just ask! We’re happy to show you a couple of reports that we think could help you with your content a lot.

Goal Check-in #1

This is our first of five check-ins on if we’re making progress on our web team goals.

1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)

Met! We’re down to 5006 pages, which is almost a 10% reduction. Much of this was because we eliminated third party scholarship listings, in favor of more comprehensive scholarship search websites (our listings were always out of date). We’re going to continue trying to cull content, but we’re going to focus most of our effort on some of the other goals.

2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)

We’re more than half way to this goal, with just 232 pages with more than 15,000 characters. Much of our progress here came from removing pages that related to our former president, and which are now on our archive site. Additional progress will be harder.

3. Reduce the average character count of our pages by 10% (from 4650 to 4185)

At an average length of 4412 characters, we’re about half way to our goal.

4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

Unfortunately, we’ve made no progress on this goal, with our average age unchanged. Please help us out by editing your pages!

Traffic Goals

We also had two traffic goals:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

Since these are annual goals, they’re a little harder to compare against. But we can compare similar time periods. For the first two months, 6/14-8/14, comparing 2016 to 2017, our session counts have increased by 2.64%, but our bounce rate has increased by 3%. We need your help with this goal as well! Think about the keywords that your page targets, and make sure your content contains those words. And whenever possible, please make sure your page includes some sort of target or goal you’re trying to get your visitors to do.

And, as always, please feel free to contact us on the web team if we can help in any way!

 

Web Team goals for 17-18

It’s the end of the academic year, which means it’s time to start thinking about goals for next year. Our first set of goals will be similar to our goals from last year:

  1. Reduce the total number of pages on the Lane website by 5% (from 5550 to 5273)
  2. Reduce the number of pages with more than 15,000 characters by 10% (from 249 to 224)
  3. Reduce the average character count of our pages by 10% (from 4650 to 4185)
  4. Improve the average age of our pages (the average late updated date) by 4 months (from 16 months to 12 months)

We’re also going to add two goals relate to page use:

  1. Increase session counts for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 3,228,904 to 3,390,349
  2. Decrease the bounce rate for www.lanecc.edu during the period 6/14/17-6/14/18 compared to the previous year by 5%, from 37.05% to 35.19%

We’ve never had page use goals like that, so this will be interesting for us as we really dig into how to increase engagement and findability of our pages.

If you’d like to help us meet our goals, just edit your pages! We’ve made a lot of progress in making our pages more recent – many pages used to be over two years old! We’re happy to help. Just email Lori and she’ll get you pointed in the right direction.

Correctly Linking Images

We all know how to make an image accessible. And we all know how to make a link. But how do we make them play together? How do we do something like this:

Download the Graphic StandardsSince we’re good people, we add alt text describing the image, right? Maybe something like “Graphic Standards Cover”? That’d give us (overly simplified) HTML like this:

<a href="standards.pdf"><img src="cover.png" alt="Graphic Standards Cover"></a>

But that’s actually not so great for accessibility. A screen reader will read “Graphic Standards Cover”, which doesn’t make the action (downloading the standards) clear.

My first instinct was to add a title to the link. But the title is almost never read by a screen reader, and may even make things worse. The reader will read the alt text. To make it clear what the link does we need to change the alt text:

<a href="standards.pdf"><img src="cover.png" alt="Download the Lane Graphic Standards"></a>

Now we’ve solved the accessibility problem, but we may have created a user experience (UX) problem. Scroll up a second and look at that image again. Did you know that you should click that picture to download the PDF? Or did you think it was just a picture? We can’t even rely on people discovering the picture is linked by hovering over it with the mouse and the cursor changing: it isn’t possible to hover with your finger on a phone.

Sometimes it may be immediately clear that a picture is clickable from context. If it isn’t we may need to add some help:

<a href="standards.pdf"><img src="cover.png" alt="Download the Lane Graphic Standards">Download the Lane Graphic Standards</a>

Now we’ve solved our UX problem, but we’re back to an accessibility issue! A screen reader will read the alt text and the link text. It’ll be like the same sentence is printed twice. The solution to this is to have explicitly empty alt text:

<a href="standards.pdf"><img src="cover.png" alt="">Download the Lane Graphic Standards</a>

Explicitly empty alt text will be ignored by the screen reader entirely, while missing alt text can cause unpredictable or even negative behavior.

You could also go back to adding descriptive text as the alt text. In our example above, that isn’t appropriate, since the cover is really just decorative. But consider another example:

A cat chewing on a monitor. Link opens a larger image.That image is linked to the full size picture. Describing the contents of the picture is completely appropriate. But remember that most screen readers can pull links out of a page, and let someone navigate from link to link directly. For that reason, our alt text is “A cat chewing on a monitor. Link opens a larger image.” The alt text serves double duty.

This post does not, of course, mean it’s always appropriate to use an image. It’s important to avoid off-brand or inappropriate images. It’s important not to add so many linked pictures that your page hierarchy gets lost and navigation gets more difficult. And if something can be done in CSS, it probably should be. It wouldn’t hurt to use images as pictures as rarely as you can.

If you’re not sure what to do with links at Lane, get in touch! We’re always happy to help.

Using all Capital Letters

An instructor asked me the other day, “How does a screen reader read text in ALL CAPITAL LETTERS?”

I didn’t know, and through it was a great question, and had to figure it out. Let’s start with some sample text:

It’s VERY important you remember these:

  • USPS
  • NASA
  • DVD

There’s four words in all caps there. Let’s look at each one, from the bottom to the top:

DVD is an initialism, meaning you read each letter in it, like CPU or FBI. NASA is an acronym, meaning you read it as a word, even though each letter stands for a word. USPS is another initialism. But VERY is just a word, with all capital letters being used for emphasis.

Of course, it’s wrong to use capital letters in this way – you should instead be using an em or strong tag (though which one is complex, and I didn’t find the examples in the specification very helpful). But the instructor’s question wasn’t about what should happen, it was about what does happen. How can a screen reader know which of those words it should treat as words or acronyms (which are like words, in terms of pronunciation), and which it should treat as initialism (and read letters instead of the word)?

I ran each of the examples through the say program on my Mac, and here’s what I got (sentence case was pronounced like lowercase):

Word Uppercase Lowercase
Very word word
USPS letters word
NASA word word
DVD letters letters

There’s some interesting logic there. I think this table shows my Mac will always read dictionary words as words (like “very”). And I think it shows that my Mac also has a list of known acronyms and initialisms, so it knows how to read those. For words that aren’t in either list, but also aren’t in the dictionary (like USPS), it reads all capital letters as initialisms, but lowercase as a word (a reasonable assumption, since most of the time it encounters words that aren’t in the dictionary, it’s probably due to the lang attribute not being set correctly.

Of course, this is just say on my Mac, which isn’t even a screen reader. WebAIM has some general rules for how screen readers read things, but it isn’t really predictable how a screen reader is going to pronounce words in all capitals. Pronouncing typographic symbols is hit or miss as well — some, like @ and % are read correctly. But most others (like the parenthesis, or the mdash in the previous sentence) aren’t read universally. Rare punctuation, like the interrobang (‽) may not be read at all.

I was hoping that abbr would influence how screen readers pronounce words, but that doesn’t appear to be the case (and, if you’ve been around HTML for a while, remember you’re not supposed to use acronym at all — though it probably wouldn’t do anything here anyway).

What does this mean for you at Lane?

Use the abbr tag to specify acronyms and initialisms if possible. Even though screen readers won’t necessarily change how they handle pronunciation, abbr with a title attribute makes it easier for anyone to understand meaning. Try hovering over this: NASA.

If you want to use capital letters for emphasis: don’t. Instead, use either an em or a strong tag, depending on if you’re trying to emphasize something or make it note that it’s more important than surrounding text. And, of course, never use strong in place of a header.

If you want to use capital letter for aesthetic reasons, then you should use a bit of CSS to make it happen:

.all-caps {
  text-transform: uppercase;
}

Screen readers ignore CSS, so this use is entirely for presentation. Just make sure you don’t confuse presentation with meaning.

I ran a quick search on our website for pages that have a lot of capital letters all in a row:

SELECT entity_id
FROM   field_data_body
WHERE  body_value REGEXP BINARY '[A-Z ]{10}';

There were 748 results. Editing 748 pages obviously won’t happen overnight, and on each one we’ll need to determine if we should instead be using a header, a strong, an em, or just normal text. For now, I’ve queued a task for us to tackle in the future, but if you’re editing your page and notice some misuse of capital letters, we’d be forever appreciative if you’d fix it.

Understanding WCAG 2.0: 4.1.1 Parsing

The last standard we’ll explore in our series on understanding WCAG 2.0 is 4.1.1 Parsing. This standard is required for WCAG level A compliance, which is part of what Section 508 requires. Here’s the complete text:

4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features. (Level A)

Web Browsers operate under a forgiveness by default principle. They’re very liberal in what sorts of input they accept, and they do their best to show you something. Here’s an example, taken straight from that link:

Hello!

If you inspect that line, you’ll find the color is specified as “sxbxxsreen”. “Sxbxxsreen” doesn’t exist as a color, either in the real world or within the browser. While most computer programs would either ignore “sxbxxsreen” or crash, browsers make a guess. Firefox converts the whole thing to a set of rgb hex values, using 0’s for invalid characters (look for Dak’s comments in that link for full explanation). Not every browser guesses the same way.

Web browsers also guess with malformed html:

<title>hello</title>
<p>Hello!
<body bgcolor="sxbxxsreen">

There’s no doctype, no html tag, no head tag, the p tag isn’t nested properly and doesn’t close, the specified background color doesn’t exist, and the body doesn’t close. But, amazingly, my web browser renders that page without complaint:

Screenshot of the previously desribed website, showing the word hello poorly contrasting on a blue backgroundWhile this is generally a good thing (nobody really wants a browser to stop working because of a minor syntax error), it can become a problem if we depend on browsers to always guess correctly. A screen reader, which is a type of browser (though the WCAG specification refers to both browsers and screen readers as “user-agents“, I’m calling them browsers in these posts because user-agent has another meaning). And while most of us test our web pages to make sure they work in the most common browsers, none of us has every browser out there.

This standard requires four things: close open tags, nest tags correctly, don’t use duplicate attributes, and make ids unique. The easiest way to see if you meet those requirements is by validating your page. To do that, first make sure your doctype is correct, since that will tell the browser how to interpret the html. In older pages, you might see something like this at the very start of the source:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                      "http://www.w3.org/TR/html4/loose.dtd">

But most new web pages use the HTML5 doctype:

<!doctype html>

which is the first and only doctype I can write from memory.

One your doctype is correct, you can use the W3C validator to check your document for errors. Here’s links for the legacy validator and the HTML5 validator.

If we validate the Lane home page, we’ll find many errors and warnings that don’t relate to the WCAG standard, and which we’ll have to interpret ourselves. For instance, there’s these:

  • Attribute xmlns:video not allowed here.
  • Attribute xmlns:product not allowed here.
  • Attribute xmlns:content not allowed here.
  • Attribute xmlns:dc not allowed here.

While technically these attributes aren’t supposed to be there (since they’re XML namespaces and not part of the HTML5 specification), none of them are duplicate attributes, so they’re allowed according to the WCAG 2.0 standard. This page also has a bunch of warnings. Some of them we can also ignore, but others are spot on:

  • Consider avoiding viewport values that prevent users from resizing documents.
  • The name attribute is obsolete. Consider putting an id attribute on the nearest container instead.
  • Consider using the h1 element as a top-level heading only (all h1 elements are treated as top-level headings by many screen readers and other tools).

Without any doubt, I should fix those three warnings. But note what this validator didn’t find: missing tags, improper nesting, repeated attributes, or duplicate ids. In other words, this page meets this standard, even though there’s some work I should do, and even though it doesn’t technically validate.

If you’d like to know more about this standard, check out these examples and techniques.

Interested in more? Check out the listing of all the posts in this series.