Guidelines on Making Websites Accessible (for Persons with Disabilities)

This week, I started creating a WordPress theme for our website, and in doing so, spent a lot of time reading on making a website accessible for persons with disabilities. While we do have legislation stating that all university websites need to be accessible by next year (?) (Accessibility for Ontarians with Disabilities Act (AODA)), our university and library take pride in being accessible. For some reason though, our website is not all that accessible.

Web Content Accessibility Guidelines

Now on version 2.0, most government and public organizations are being held accountable in being compliant with the Web Content Accessibility Guidelines (WCAG). The guidelines divides up the requirements into three levels: A, AA, AAA. While the guidelines themselves are a little hard to decipher, w3 provides a customizable quick reference to break the guidelines down into a more readable document.

The Design

When it comes to the general design of the website, it’s actually fairly simple.

  • Order and use of elements should make sense even in text only (1.3)
  • Minimum contrast (1.4.3)
  • Text resize up to 200% in the browser without lost functionality (1.4.4)
  • Keyboard accessible and easy to navigate (2.1, 2.4.1, 2.4.5) – have different ways to get to your content
  • Make your site predictable (3.2)
  • Provide error identification, suggestions, and instructions (3.3)
  • Make it compatible with assistive technologies (4.1)

The bottom line: your website should work (and make sense) even without JavaScript and CSS, and in text-only mode.

The Difficult Part: Making A/V Content Accessible

I don’t think a lot of people realize that designing a website to be accessible is not the hard part. The hard part in an organization is making sure that the content posted on the website is accessible. In particular, audio/visual elements should have text alternatives, whether that be closed captions, alt text or transcripts.

In order to ensure that content is also accessible, web developers need to work with other staff whether inside their own department or in the greater institution to educate staff who are creating content, because even something as simple as images need text alternatives.

At a college or university, best to contact the accessibility centre/unit on campus to work with them. They might already have the tools or know-how to make a/v content accessible.

Making a WordPress Accessible Theme

So, why reinvent the wheel? That’s what I thought anyway, but there are some issues with using an existing theme and modifying it. I wanted one that was in HTML5/CSS3, and then I later discovered that it should also be using the WordPress Settings API (which was difficult because it was only added in 2.7 so not everyone is using it).

Long story short, I didn’t find any, but then in looking through the files, it turns out the built-in/sample WordPress theme TwentyEleven fits all of these requirements! They do not tout that the theme is accessible, but many of the elements are present in the theme.

I will be posting more once the theme is done (or mostly done anyway) with more details on any changes I will have to make, but I’m thinking they will be very few if any.

A Few Tools

You can find a rather extensive list of tools for evaluating accessibility on the w3c website, but one of the most useful I found was: WAVE, which provides different views of a webpage with alerts and errors (there is also a browser plugin version). There are also a number of good colour contrast checkers browser plugins.

Stop Living in a Bubble: Privacy & Tracking of Google and Others

With Google’s new policy in effect, there is currently no shortage of news articles and blog posts about how to protect your information from Google. I think it’s great that people are becoming more aware of the effects of how one big company can track you, but this has been going on for many years, just never in one nice neat package as Google is talking about now. [Too long? Skip to the Summary at the bottom]

It’s Not Just Google

While zdnet.com and many others focus specifically on Google, but just recently in the news, Target figure out a teenage girl was pregnant before her father, and NYTimes did a piece on how it’s not just Target, but any and every corporation you shop with. Mind you, if you shop at various stores for various people, it might be harder for one single company to track you, but online is a whole other world.

Living in a Bubble

Online is different, because you can be tracked from one website to another. Particularly when you’re signed in, every search you do is put into your history. Even when you’re not signed in, you’ll be tracked by IP address (but on the up side, rarely does anyone have a truly static IP at home or at work). Your search results will be skewed based personalized data, not just ads, but search results as well. dontbubble.us provides a nicely illustrated explanation of how it works and why it’s important.

Big Brother (and Everyone Else) is Tracking You

Online is also different because it’s not just Google tracking you, trackers are built into sites that follow you on the web to build a profile on your behaviour (and very few sites do not have this). Check out donttrack.us for another illustrated explanation, but if you really want to see how insidious behavioural trackers are, take a look at Collusion, which will give you a demo on a short journey on the web from IMDB to news sites.

What to Do

So how do we protect ourselves from all of this? Live in a cave. No really, practically speaking, there is no way to prevent being tracked and having personal information stored some way or another. It’s no secret that every app and every site that has access will keep information on you and many will sell it to advertisers.

Nevertheless, while it’s virtually impossible to prevent tracking altogether, you can prevent advertisers from building a profile about you to a larger or lesser degree.

Opt Out of Google History

Just about everyone has covered this, and zdnet.com provides a nice summary with lots of links, but here are some direct links:

You could also of course, delete your Google account completely and not use any Google products. (Just saying.)

Browser Plugins

Plugins are nothing knew as a way to help manage privacy and security in browsers. At the bottom of donttrack.us, there is a list of browser plugins you can consider. Some of these are only supported by one or two browsers, but similar plugins are available for other browsers. In particular, I use:

For greater anonymity, add HTTPS Everywhere and Tor. Not on the donttrack list is: TrackerBlock for Firefox, and Internet Explorer.

Browser Settings & Options

Changing some of your security and privacy settings in your browser will also help. The farther down the list, the more extreme you get, but they’re there to consider.

  • Change your default search engine
    • I use duckduckgo, which doesn’t track or bubble and has a neat !bang syntax.The drop down next to the search icon also gives you options for searches it doesn’t have built-in like images and news. (Plus it has an awesome logo)
    • Just set it once. If you’re in doubt, here’s the ‘search URL’ to enter: https://duckduckgo.com/?q=
  • Do not allow sites to track physical location
  • Disable Third-party Cookies
  • Disable Cookies Altogether (optional: add exceptions for sites you visit frequently and want auto-login)
  • Do not allow local data to be set
  • Clear all data when closing the browser
  • Browse privately – use InPrivate (IE), Private Browsing (Firefox, Safari), Incognito (Chrome), Private Tab (Opera) – and set it as the default (if possible)

Opera actually has a great guide to security and privacy covering a lot of Opera settings on one handy page.

Change Your Browsing Habits

Admittedly, I find it hard to do without using any Google products having a gmail account including googletalk, and Google Reader (if someone has suggestions on an alternative that is just as good, I’d love to hear it). Nevertheless, at work, I will log into Google with one browser while using a different browser for everything else. At home, googletalk pops up email in my default browser, so I make sure to log out when I’m done.

On the more extreme side of things, you can set up your work flow such that nothing is stored locally, check out a blog post on microcosm about browsing privately.

Non-Techsavvy Friendly

While some of these options are great for those who are tech-savvy enough, many of these options will create barriers for those who would prefer some protection but with the same experience as before. In those cases, I recommend:

  • All the Google History stuff
  • Adblock/plus
  • Ghostery + making sure common sites are not blocked e.g. facebook, twitter
  • Changing the default engine in the address and search bar
  • Do not allow tracking of physical location
  • Disable third-party cookies + making sure common sites are added to exceptions e.g. bookmarklets

Of course, it’s all about the individual. If they can handle NoScript (which is fairly easy to use once you’re taught), that’s great. The problem is always if the user encounters an error or some functionality that isn’t working properly because it’s being blocked. It’s great if they’re willing to call you and you can talk them through it on the phone, but otherwise, we all know how frustrating it can be for something to not work like we think it should.

Summary

Some key takeaways if you thought that was a bit long to read through.

  • Remove and opt out of all Google history and personalization
  • Install some easy to use plugins, and adjust your browser settings
  • Most of all: Use duckduckgo.com for your default search engine

Supporting New Librarians for Conferences & Events

While I admit that I have not gone to many library conferences, I thought I would reflect on attending my recent outing to Seattle.

Funding & Limitations

Fairly obvious, but it was important for me to know how many conferences I might be able to attend in a year. If hired as a permanent position, most librarians get a set budget for attending conferences and other events, but on contract, it’s a per-event approval process (as it tends to be at most institutions).

Based on what I heard from others, I think it is key to know what kind of policy administration usually has. I’ve heard from some that non-permanent full-time librarians get absolutely no funding, and even permanent full-time librarians sometimes have to wait 1-2 years before getting funding.

There is, of course, the choice of funding a trip yourself on your own time, but these costs can be prohibitive for new graduates or those with lesser financial means.

Choosing the Right Conferences

On a bit of a side note, I think it is also up to the individual to pick and choose what’s right for them. There are so many conferences being held all the time, it can be very difficult to choose. Being able to only choose 1-2 conferences in a year, I decided against the larger, more general conferences (such as CLA, ALA, or the provincial ones) because I felt that many of the sessions were just not relevant to my interests and position. Instead, I decided to focus on technology related conferences, namely Access and Code4Lib.

Other more local events, which only involves work time, with little or no fees and travel costs can help to supplement or be alternatives to larger events as well, especially regional versions of larger events. Once again though, depending on the policies of the organization, this might involve an individual paying their own way and using vacation time to attend.

How Can We Help?

One of the discussions I got involved with while in Seattle was, how can we help new graduates/librarians (and librarians in more restrictive positions perhaps) attend conferences?

While many conferences offer discounts on registration fees or free attendance for volunteers, registration fees are not usually that high (at least not at library conferences). Even airline tickets are fairly low cost when flying within the US (though admittedly to/from/within Canada can be quite expensive). What makes a trip prohibitive then is usually the hotel, which generally costs at least $100/night.

Then, what can be done to help with these costs?

  • Scholarships: many have student scholarships, which is great, but maybe they can be opened up or a couple can be made for those in need (who are not necessarily students) – it was the only reason I could attend Code4Lib this year
  • Roomshare/Rideshare: while we had this at Code4Lib, I’m not sure how well it was advertised (but then I got in late in the game). Maybe if it was advertised on the main webpage or somewhere in the registration process, a list of people willing to share can be generated.
  • Hostel Room: Similarly, facilitate a way for a group to get a hostel room together (while they might still be strangers, personally, I would not mind so much with fellow conference attendees as opposed to complete, possibly unfriendly strangers).
  • Ask Locals to Offer a Couch/Floor/etc.: I admit that this would be probably difficult for large conferences, but if locals could offer a place to sleep to those in need, I think it would be a great way to encourage new folks to attend. (Organizers can consider writing a simple guideline, such as only if a person doesn’t have any funding sources to attend.)

I’d love to hear other ideas, which might be passed on to conference organizers, especially for Code4Lib 2013.

Code4Lib 2012: Conference Reflections

For those unfamiliar with Code4Lib, it is generally described as a community of computer programmers who work in information organizations, primarily libraries (2007 Code4Lib Conference Report, 2007). While geared towards programmers, the community has expanded to include many who are not coders, but have some background and a great interest in computers and technology in information organizations. To learn more: take a look at the journal, check out the website, follow the Twitter feed, sign up for the mailing list, or lurk in the IRC channel.

Pre-Conference

There were so many pre-conference sessions that I wanted to attend or at least sit in on. While some of the sessions were workshop-like where a speaker presented for (more than) half the time and there was some hands on activity afterwards, others were very much a facilitated discussion, similar to a breakout session.

The metadata session was quite interested as there were many people who were neither coders, nor cataloguers present. Honestly, I think the big takeaway at the end of the session was that cataloguers and coders need to talk to each other (not at each other) and try to understand that neither can simply work ‘magic’.

Metadata Preconference

I also got the chance to go across the river on the Microsoft Tour in the evening, where a group of us got to see prototypes of technologies they are working on and play with some of them. There were also presentations on some of the open projects they are working on, including Microsoft Academic Search, which looks like a nicer version of Google Scholar. If they get library full text linking, I think it could be pushed out fairly easily for mass use.

Washington River

Keynotes

The keynotes were so thought provoking. While Dan Chudnov’s keynote touched on his life lessons and the need for change for the conference, Bethany Nowviskie’s keynotediscussed the need for lazy consensus in our work place. Seemingly different topics, but I think they both touch on an issue that has been driving change in some organizations, or simply being ignored at others (or somewhere in between). Libraries (and other information organizations) and its people need to change and evolve in order to continually find its place among the world and how they play a role in people’s lives. Part of adapting is to attempting to keep up with the world as it changes – technological, culturally, socially, economically – but also being flexible enough to accommodate our own changing organization and work environment. While change is rarely easy, we can become so much better by embracing it.

Dan Chudnov - Keynote #1

Conference Presentations

While some of the presentations were honestly too code-centric or technical for me to truly comprehend, I learnt about new tools and got a lot of great ideas. I also realized that I should really acquire more programming knowledge and skills. I have as a result started CodeYear though I’m a bit behind.

Lightning talks are probably my favourite part of the conference since we get to hear about so many new ideas and projects that we might otherwise not hear about. As part of that, I think many will agree that the Code4Lib Japan team presented some of the most impressive projects especially surrounding the disaster relief efforts, and creating a meta-OPAC to search and provide information on all of Japan’s libraries. They also showed great courage in presenting in English (as many of us have enough difficulty presenting in our native language).

While completely nervous, it was also fun to get an opportunity to do a lightning talk myself on Processing.js, which I’ve honestly never used but am excited about having seen some of the projects made with it. Maybe next time I should do it on Popcorn Maker (if they get it into beta) or one of the projects I expect to be working on this year.

Ask Anything was also a great session where I got to ask about how others are implementing a wayfinding tool as we would like to do. Of course, the mailing list is also a great place for that, and I now have lots of reading to do (in addition to the CSS3 book I won!). Some of the presentations have also given me further ideas on what might be done (better) at our institution, and I hope to have to the chance to implement at least some of them.

Social Events


I can’t talk about Code4Libcon and not mention the social events. As a first timer, it can be tough to feel like you belong, especially when you’re the only one from your institution, so it was great that there were organized dinners/groups, especially the newcomer dinner. There was lots of great food that was eaten and awesome company to have interesting discussions. Hopefully with having chosen slightly farther places, I walked it all off! I also enjoyed the after dinner socials including the beer drink up (even though I don’t drink beer), which was a great opportunity to talk to people since there’s usually too many things going on during the day to truly have the chance.

Connections

While the presentations were great, the socials were fun, and the backchannels (Twitter and IRC) provided links and laughs, what I have taken away from the conference of the utmost importance are the connections I have made with people, whether it be to learn more about tools we would like to build, to stalk follow them because of their interesting tweets, or simply to keep in touch because I had an interesting conversation with them. Dan hit the nail on the head when he said that we come for the people. (We love you too, Dan.)

On an interesting side note, while it was not intentional, my blog saw a major spike in activity due to my blogging on the conference (peak of 590 in a day!). I honestly primarily did it for myself, but I am glad that people have found it useful and its flattering to see so many people visit. I have edited them and added as many links and presenter slides/videos as possible to help those who could not attend (and would prefer not to sit through the video archive).

Acknowledgements

This was my first Code4Lib Conference and only my second conference. I am very happy that I got the opportunity to attend, which I could not have done without the support of my supervisor and institution, and especially the Oregon State University and the Digital Library Federation who sponsored five Minority and Gender Diversity Scholarships, one of which I received. I was particularly grateful of the fact that the scholarship was not geared for students, but for those in need of funding, which frequently applies to new graduates or term employees (or both, which is where I fit in).

(Some of the) C4L12 Organizers

Thanks again to all the hosts, organizers, volunteers, speakers, A/V guy, social event leaders, and everyone else who made the conference possible. I look forward to 2013 in Chicago!

Aerial view

Code4lib Day 3: Notes and Takeaways

You know, it’s hard to MC, follow twitter, pay attention, and blog, so as usual, only notes and takeaways for some of the presentations.

Full posts:

Your UI Can Make or Break the Application

  • software developers are creative
  • Prototyping: fail early and fail fast
  • user involvement: screenshots along with requirements
  • creates user buy-in
  • warning: don’t make demos look done!
  • don’t be afraid to “borrow” ideas
  • help the user be successful
    • stick with familiar designs
    • use simple language
    • keep labels/functionality consistent
    • give instant feedback
      • provide inline validation
      • some feedback through AJAX
  • Helpful Sites:
  • designmodo.com
  • thinkvitamin.com
  • ajaxload.info
  • uxdesign.smashingmagazine.com

Quick and Dirty Clean Usability: Rapid Prototyping with Bootstrap

by Shaun Ellis, Princeton University

Important to get user feedback, meaning to get things in front of them. Use drawings to keep people from getting bogged down by aesthetics.

Twitter released Bootstrap, an open source style guide that will put your feet in your shoes. It allows you to get really quick feedback on static images and interactive pieces, but will not make your site “instant delicious”.

Allows a lot of customization based on grid system.

Prototype yourself out of the cave.

Some References:

Wrap-Up

Some archive/relevant links: