New Year (2018)

Another year, another blog post; more than one each year would be extravagant, right? Once again I’ve not published anything on this site since the first day of the last year. Will I do any better this year? Probably not, but you never know.

I’ve not much to say about the year gone by. I travelled more than usual (or at least spent more time in aeroplanes), spent more time with family than usual, went on more dog walks than usual. But otherwise nothing particularly significant happened. Not a bad year, but just another year.

Instead of New Year Resolutions, last year I set myself some forfeits and rewards for certain actions.

First, I needed to lose weight. To that end I decided to avoid takeaway meals eaten alone; eating with other people was OK as the presence of other people stops me overeating to an extreme degree. My forfeit / rewards was:

I pledge to match any spending on takeaways that I eat alone in charitable donations. Because I want to donate some money I need a reward – if I manage to go the full year without any takeaways alone I will donate £1000.

Mission accomplished! I didn’t have a single takeaway meal on my own, so I will be donation £1000 to a charity to be determined. The downside is that I probably still managed to end the year heavier than I started, so I need to try something else.

By the end of 2018 I will reduce my weight to 100kg or lower. I’ve not decided what my forfeit will be yet, but it needs to be something fairly extreme. I have decided an intermediate goal and a consequence for missing the target by a long way. I can’t see the next Star Wars film until I’ve reached a weight of 115kg or below. I won’t say what the consequence will be if at the end of the year I am still above 115kg, but it is definitely something I don’t want; if you know me personally feel free to ask.

I also wanted to reduce the amount of unnecessary spending on things that I don’t really need. The forfeit for this was:

10% of my spending in this category will be donated to charities.

I don’t think I bought much less than any other year, unfortunately, but at least it will add to the £1000 that I’m already committed to donating. I’ve yet to work out the total yet, but I’m sure it’ll come to several hundred pounds. Although I failed I do like this idea, so I’m going to do it again this year.

I passed my grade 3 violin examination, but for a variety of reasons the regularity of my playing has dropped off significantly. I still want to play, but I’m not currently working towards grade 4.

Outside of work, I didn’t set up any mentoring. However it’s still something I want to do, and I know other people who have expressed an interest in doing the same, so maybe this year…

All that remains is to wish you all a happy 2018.

New Year (2017)

I started doing New Year posts back in 2010, and despite my highly irregular and low volume of blogging I’ve published every January 1st since then.

Until last year.

At the start of 2015 I challenged myself to blog once a month for the year. It’s not the first time I’ve set similar challenges, and having failed all previous attempts it should come as no surprise that I failed once again. This time was a bit different though. I wrote a blog post titled Setting an example, that covered some of my views on example code, and the level of quality that needs to be considered to avoid propagation of accessibility, security, and performance. One of the comments I received for this post was so mean-spirited that I really lost interest. I plan to address this some time in the future. After that I blogged twice more in 2015, about a change in job, but otherwise my Writing Resolution failed at the first hurdle.

Because of this I’ll cover a few things in 2015 as well as 2016, but mostly I want to look forward to 2017.


Highlight of the year was becoming an Uncle for the second time. My sister gave birth to Sophie Joy in June of 2015.

In this year I also left the BBC and started work at The Paciello Group. While I’ll always have fond memories of my time at the BBC, and will be grateful of the opportunities I was given there, I’ve been very happy working with the wonderful people at TPG and I’m look forward to 2017 with the company.


Other than the trauma of political upheaval, the rise of fascism, and the deaths of so many creative and pioneering people, 2016 was a rather simple year for me.

Life has mainly revolved around work, but I’ve also continued playing violin, have played quite a lot of Dungeons & Dragons (yeah, I’m a nerd), and watched new Star Wars films numerous times.

My weight has finally translated in to a minor (and correctable) health issue, and this has so far been the motivation I’ve needed to do something about it in a sustainable way.


Resolutions and me don’t get on very well, so I’ll try forfeits and rewards instead.

As in 2016, I need to continue to lose weight. One of my biggest temptations is to order takeaway instead of cooking, and I always over order. I pledge to match any spending on takeaways that I eat alone in charitable donations. Because I want to donate some money I need a reward – if I manage to go the full year without any takeaways alone I will donate £1000.

I’d like to reduce my spending on unnecessary purchasing of gadgets and gizmos. My small flat is cluttered with things I really don’t need. It’s not that I want to live a life without cool toys, but I want to have a better balance and to reduce my impulse buys. 10% of my spending in this category will be donated to charities. I’ll use my best judgement as to what offers genuine benefit versus nice-to-have buy unnecessary things.

In the same vein, I spend most of my money with large retailers. The convenience of Amazon is hard to resist. I plan to buy a lot more from independent retailers, particularly books. Bookshops need our support, so I intend to give mine.

For a variety of reasons I missed my last violin grading. In 2017 I will take (and pass!) grade 3, and will work towards the grade 4 exam at the end of the year. This one doesn’t need a forfeit or a reward, I play for my own satisfaction.

I’m not going to make a resolution to blog more, but I do have a few things I’d like to write, both here and on the TPG blog. Hopefully this post ends the drought, but don’t expect too much!

Inspired by Heydon and people offering their time over the holiday period, I plan to give some of my time to mentoring in 2017. I’ve not worked out the details, but I’ll post again when I’ve figured it out.

I hope you have a very happy 2017.

The Paciello Group

So, what’s next for me after leaving the BBC? I’m very pleased to be joining The Paciello Group as a Senior Accessibility Engineer.

Among several reasons for joining TPG is the opportunity to work with many of the best people in the field of accessibility, including my former BBC teammate Henny Swan.

I’m hoping to be able to learn huge amounts from my new colleagues, and I’m looking forward to getting stuck in to some interesting projects over the next few months.

Farewell BBC

Today was my last day as an employee of the British Broadcasting Corporation

I started working there on the 24th January 2011 and for 2 years 2 months and 1 week I worked with the team that at the time was responsible for most of the client side framework at the BBC. There were personnel changes along the way, but it was always one of the most talented teams I’ve worked on, and where I feel I’ve done some of my best development work to date.

After that I was given the fantastic opportunity to join the Accessibility team for a 1 year attachment. That year has turned in to 2 years and 3 months, and a new career working in the field of accessibility full time. For that I must give thanks to Gareth Ford Williams and Henny Swan who gave me a chance.

I may be leaving but I’m still proud of the BBC.

Setting an example

All of us who build websites or application have at one time or another copied example or demo code and used it in our own work. Heck, a large number of us learnt our craft this way.

Unfortunately the quality of example code, while varying widely, is often on the poor side. This is not because the well meaning developers who publish it are bad developers, but because they aim to keep things simple and just show the bare minimum.

The problem with this is that by avoiding the complete picture the wrong lessons are learnt.

Take the following, which is an example how to use the <input> element from a popular (and generally excellent) website:

<!-- A common form that includes input tags -->
<form action="getform.php" method="get">
    First name: <input type="text" name="first_name" /><br />
    Last name: <input type="text" name="last_name" /><br />
    E-mail: <input type="email" name="user_email" /><br />
    <input type="submit" value="Submit" />

While this does indeed show a simple way of using <input> elements, by not wrapping the text adjacent to each field in a <label> element it is an example that suffers from a serious but easy to avoid accessibility flaw.

The usual excuse is “It’s only meant to be an example”, but my guess is that this code has been copied and pasted in to many live websites, and has therefore failed in its purpose to educate on the correct way to implement a form.

I think there is only one way to solve this, and it’s going to take a bit of work:

Example and demo code must be of production quality

Whenever we provide example code or demo implementations it must be good enough that we would be prepared to use it exactly as it is in our own production work. We must assume that every example will be used verbatim, without improvement.

The checklist that I assess my work against looks something like this:

  1. has been well tested
  2. is secure
  3. is accessible
  4. is performant
  5. is documented
  6. has acceptance tests

Hopefully the first 4 points go without saying, but why would you include documentation or tests in a demo? Well, first of all they are part of what I consider a necessary part of production quality code, but more importantly they are a way of educating the person who copies it.

Both documentation and tests provide ways of indicating what is significant rather than unimportant. In the previous shown code, is it significant to the quality of the implementation that each input is separated by <br />? I’m sure we’d agree not, indeed it’s not how I’d implement this. But documentation that spells out that <label> elements should be used, along with acceptance tests that make sure that they have been, means that when an example is adapted to meet a new requirement it retains its quality.

Education via example is how the web has become the amazing platform it is today. Let us all do our best to improve the lessons we teach.

Writing Resolution

Or should that be, in honour of Sir William Curtis, ‘Riting Resolution’?

I’ve neglected this blog in the last 12 months and I’d like to change that. I’ve said the same thing in previous years of course, and it hasn’t really worked out before so why should this year be any different? Well, I had an idea of listing up front what I’m going to write about.

My goal is to write something at least once a month, and to put a bit of pressure on myself I’m going to list what it’s going to be about ahead of time. In the case of the first three months I’m going to put those subjects right here in this blogpost:

  1. January – the problem with examples
  2. February – accessible web design
  3. March – being an introvert

Please leave a comment if you have any suggestions about what else I can write about for the remaining nine months. And please remind me if I’ve got a deadline coming up.

New Year (2015)

Warning: this isn’t going to be a cheerful look back on 2014. I’ve struggled with a general malaise that has affected almost everything I’ve done. There is a good reason for this but I am hoping that I can start to get my life back together.

I’ve broken promises that I’ve made in good faith, and this bothers me more than anything else. If I’ve said I’d do something for you and haven’t in the passed year, or have behaved badly towards you I can only apologise. I will try to make 2015 the year I put things right.


For the last 13 months it has taken an effort of will to get enthusiastic about anything. Walking out of the front door of my flat has been a chore. Nights out, music festivals, and concerts have been just another thing I have to do even if I end up enjoy them. Practicing violin, something I used to do almost every day, has been something I’ve had to force myself to do even though I finding it relaxing. At work, especially at the start of the year, I have been brusque and uncivil at times.

I miss my Dad but he wouldn’t want me to behave like this. That should be all the motivation I need to fix things.


Work has been hectic, frustrating, and rewarding. It can be hard to accept that you can’t help everyone, and in fact sometimes the best way to improve accessibility at a large organisation is to step back a bit. It’s better to provide guidance than to take over, although it’s very tempting to dive in and do everything for people (especially when they are more than happy for you to do so) instead of providing support but ultimately giving them responsibility.

In August Henny Swan left the BBC, a huge loss to our team both professionally and personally. We’ve since been joined by Jamie Knight, who is doing a great job kicking off a major piece of work that we hope will change the way we handle web accessibility at the BBC.

Next year should see an increase in work on a project that I am very excited about, and that I will hopefully be able to talk about (and perhaps even show something) at CSUN 2015.


I started the year at my lowest weight for about 10 years. I’ve ended it at somewhere close to my highest ever. For the first time I’ve felt the effects of my obesity, nothing serious yet, but a general lack of wellbeing.

I’m at a stage when I need to lose weight, I need to get fitter, when before it had always been just a good idea. As this is a problem that is more psychological than physical it’s hard to know how to change things for the better.

I’d like to ask anyone who cares and is willing to call me out on my over eating and under exercising over the next year if they see things going in the wrong direction. I won’t be offended, I won’t be upset. You’ll be doing me a favour.

Final thoughts

These annual posts are primarily for my benefit, with a readership of between zero and few, but I feel the need to make a record on the first day of each year.

Regardless of how this last year has been, I am lucky to have a loving family, friends who care about me, and as much security in work and shelter as any of us do.

I’m not a believer in New Year Resolutions, but today is as good a day as any to start making my life a better one. Hopefully next years post will be a more positive one.

New Year (2014)

2013 has been a year of extremes, a year of gain and loss, but ultimately as bad a year as it could be.

While it is a year I’d like to put behind me, it will do no good not to recognise the better parts of 2013, and to look forward in hope of a better 2014, so a few positives first.

In January after a search of several years I finally became the owner (albeit with a mortgage to pay off) of my own home, a flat in North London. I’ve got plans for redecoration and changes, but so far I’ve managed to do nothing. Although the decor is not entirely to my taste it is clean and tidy, and it’s surprising how quickly you can get used to something, which does nothing to motivate me to get to work.

In April came the birth of my nephew, with whom my Dad and I now share William as a middle name.

Also in April I changed my role at the BBC to Accessibility Specialist. I’ve enjoyed my time to date, although sometimes I feel that I can’t get enough done. I’m looking forward to getting stuck in again next week.

In November 2012 I started learning to play violin. I’m not a natural musician and I find it quite difficult but very enjoyable and relaxing. In November I took the ABRSM Grade 1 exam and just about got a distinction pass score. This has motivated me to practice harder and hopefully get better faster.

As usual I wanted to lose weight over the last 12 months. After putting on weight during the first half of the year leading to a high point in July, I have subsequently lost weight and today I’m 5.7kg (12.5lbs) lighter than on the 1st January 2013 and the lightest I’ve been for years. I know weight is not necessarily the best measure of progress but I’m also feeling healthier and fitter with it. Next year hopefully I can continue with the current downward trend and plan to work on improving my activity level on top of the improvements to diet that I made last year.

Now the negative. The painful, life-changing negative.

In the first hour of Monday 2nd December 2013 my Dad passed away. He had been ill and in hospital for some time, but nothing prepared us for this. My Mum, sister, and I were able to spend his last hours with him and tell him how much we loved him, until he fell asleep and peacefully left us.

I miss him every day.

Web Accessibility Professional

As of today I have a new job and a new job description. Possibly a new career as well.

I’ve not left the BBC, a company I am very proud to work for, but instead of working for the GEL team (part of Platforms, in turn part of the Online Technology Group), starting tomorrow and for the next 12 months I will be joining Gareth Ford Williams and Henny Swan on the Future Media Accessibility team as a Senior Accessibility Specialist.

For some time now I’ve been considering the possibility of working full time within the web accessibility field and I’ve been very fortunate in being offered that chance at the BBC.

It’s going to be a big change for me. For the last 13 years I have been a full time web developer. For much of that time I’ve been interested and involved in web accessibility. Now the roles are reversed. I will be working in accessibility full time, my technical skills being the main contribution I make to the team. I’ll be writing a lot less code. None of the code I do write will be for complete features or go to production, except via developers. I’m also going to miss working with a team of developers, particularly those I’ve been with for the last 2 years. I’ve got 12 months to decide if this is right for me, and then I will either go back to my web development job or I can try and make the change permanent. Either way I’ll be giving it my best shot.

I can’t think of any job I’d rather do or anywhere I’d rather work right now. I’ll be on a team with a couple of great people who I have a lot to learn from, helping very smart developers make what in my view is one of the most important collections of sites on the web today as accessible as possible.

In other words, I have my dream job.

Thank you Henny and Gareth for making this possible for me.

CSUN 2013 notes

The 28th Annual International Technology and Persons with Disabilities Conference, better know as CSUN 2013, took place February 25 to March 2, 2013. I attended the general sessions portion and provide here the notes I took from some of the sessions I attended.

WCAG Guidelines – What about the Users?


  • Birkir R. Gunnarsson
  • Hinni Hreinsson

Screen reader usage and trainer

  • Many users run multiple screen readers
  • 21% of users had formal training with screen readers
  • 80% use their screen reader webpage summary feature

Familiarity with landmarks, headings, and table navigation

  • 1/3 are familiar with and use landmarks
  • 60% are familiar with and use headings
  • 61% are familiar with and use table navigation hot keys to browse tables

Web page exploration strategies

  • 80% of users use tab and arrow keys to explore pages
  • 8% of users use TAB and arrow keys exclusively
  • Large part of the user base rely heavily on TAB and arrow keys to navigate a webpage
  • Most also have other means of navigating

Suggestions for improvements

  • Web developers: use markup clearly and efficiently

Be the Fireman and not the Cop


  • John Foliot

Current problems

  • Lack of accessibility planning / pre-planning
  • Stakeholders already on the defensive
  • Tight deadlines
  • No budget allotted
  • Content being developped without web acccessibility in mind

Resistance to change

  • Confrontation
  • Rejection
  • Avoidance
  • Insincerity

Finding the champions

  • It takes a cultural shift
  • Key is good communication and communicators

The law of the few

“The Tipping Point” by Malcolm Gladwell

  • Find:
    • ‘Connectors’ – know everyone, have done everything within the company
    • ‘Mavens’ – tech gurus, hardcore geeks
    • ‘Salesman’ – promoters, persuaders

Communication skills

  • Be likable, stay positive – all the time!
  • Connect – find mutual points of interest
  • Solve problems and build trust – teamwork starts with you
  • Create positive experiences – make learning fun
  • Identify and recruit the few

Establishing the systems to get you there

Tackle technical challenges

  • Standardise CMS use so you can solve problems in one place
  • Track bugs
  • Use frameworks to get accessibility built in
  • Create custom tools for internal use
  • Standardise evaluation tools

Tackle cultural challenges

  • Provide detailed expectations of outcomes, not dictate the solution – encourages creativity
  • Set realistic goals and expectations
  • Lay out the efforts as challenges not consequences
  • Don’t worry about the pursuit of quality – don’t let perfect be the enemy of good
  • Set timelines and milestones
  • Foster empathy and understanding
  • Brownbag events – invite actual users with disabilities

Addressing financial challenges

  • Be honest about how much it will cost
  • Scaled question – the longer you delay the more it costs

Transition towards a team based approach

  • Identify the responsible people
  • Identify bottlenecks in each group independently

Establish training and internal resources

  • Motivation – internal awards, recognition, etc.
  • Document knowledge – wiki etc.
  • Aim for consitency of implementation

Legislation, policy, and best practices

  • Accessibility is a governance issue, and a shared responsibility
  • Appeal to pride instead of fear
  • Create a policy: work with existing standards, avoid re-inventing the wheel
  • Lose legal threat as a last resource

Measuring success

  • Avoid checklist mentality
  • Avoid apprearances of making concessions and sacrifices
  • Avoid overly long and complex accessibility reports
  • Make accessibility more than a QA process
  • Work with milestonesL test early and often
  • Be specific with what you ask for but generous with what you accept
  • Celebrate successes, both great and small

Agile and Accessibility: Theory and Reality


  • Karl Groves

Waterfall approach of accessibility

  • Accessibility is a thing that intrudes at the end of every phase
  • If accessibility isn’t specified as part of a phase then accessibility isn’t going to get handled for that phase
  • Accessibility isn’t part of the discussion, it is an approval step

How do agile and accessibility work together?

  • Definition of Done
  • Inherently user focussed
  • Inherently quality focussed
  • Inherently collaborative

Tools and techniques

  • Test-driven development
  • Daily stand-ups
  • Definition of Done

Case Study: Fortune 100 Healthcare Company

Some Design Up Front (SDUF)

  • Spec work on what pages should look like
  • 95 initial reenderings (snippets of UI elements)
  • 9 page types
  • 10 sub-layouts

Traditional scrum

  • Accessibility team members assigned to several scrum teams
  • Before each story was considered complete it had to be cleared by accessibility team member

Deviations from the process

  • Underestimated scope
  • Underestimated resources
  • Untrained resources
  • Executive staff unwilling to adjust to meet evolving needs
  • Agile-fall!

Lessons learned

  • No project management system will assure success without knowledge and skills required to be effective
  • Accessibility can be integrated into any process
  • You must follow the process to realise the benefits
  • Time spent up front building accessible componenets and patterns is good accessibility ROI (still expect to refactor later)

Accessibility in Firefox for Android


  • Marco Zehe
  • Eitan Isaacson

Android versions

  • Android upgrade is slow
  • Most common version is Gingerbread (2.3)
  • Latest version, Jelly Bean (4.1 and 4.2) is 3rd most common

Android accessibility

  • Jelly Bean has very good support
  • Gingerbread and earlier have very basic support

Firefix for Android

  • Each version has improved support for native navigation options
    • D-pad navigation (2.3+)
    • Explore By touch (4.0+)
    • Gesture navigation (4.2)
  • Additional navigation options built in to Firefox
    • Keyboard quick navigation (2.3+)
    • Gesture quick navigation (2.3+)
  • Firefox adds support for native navigation options to earlier versions of Android
    • Explore by touch backported to 2.3
    • Gesture navigation backported to 2.3

Infographics – Making Images Speak


  • Ted Drake


  • Poor support
  • Hidden content for most users
  • Allows for good structure


  • aria-labelledby or aria-describedby
  • Removes structure, treats content as a string


  • Announces element as image, reads alt text
  • Can still use content hidden with display: none;
  • Long pause before content is read, easy to miss


  • Does not label element as a graphic up front, replaces content with transcript
  • Announces element as a graphic at the end of the transcript

Include transcript

  • Allows for good structure
  • Repeats content in the infographic
  • Can be visually hidden with CSS clipping

Toggle transcript

  • Provide a structured transcript
  • Hide content by defauly
  • Add control to show the content

Transcript link

  • Add visible link to transcript

Implementing Accessibility Testing At The Enterprise Level


  • John Foliot
  • Mitchell Evan

Testing matrix

  • Prioritise Assitive Technology / Browser combinations based on likely use and instance of problems

Test plan for each feature or page:

  • How to test
  • Expected results
  • Actual results
  • Notes


  • Use a bug database, not monolithic reports
  • Browser / AT matrix

Template for future projects

  • Kickoff: confirm the plan, meet & greet
  • Ground rules for visual design
  • Collaborate with UX design
  • Visual accessibility analysis
  • Collaborate with developers
  • Test

Mozilla Firefox OS – Mobile Open Web Platform


  • Marco Zehe
  • Eitan Isaacson

Operating system

  • Written entirely in HTML, CSS, JS, including apps and even the web browser
  • Open source
  • Linux Kernal
  • No SDK required for development


  • Get the next billion people on to the web
  • Initial launch in Central and South American countries
  • Hardware somewhere between feature and smart phone specs for affordibility

Accessibility in Firefox OS

  • Bad news: first version won’t have a screen reader
  • A screen reader is coming soon…
  • It will share the same core accessibility engine as desktop and Android versions of Firefox

Plain Language: Usable Content for Everyone


  • Angela Hooker

Common content problems

  • Language that needs explanation (Shakespeare)
  • Unusual structure of language (Yoda)
  • Sometimes institutions (such as government) dictate the content
  • Overly wordy content
  • Jargon that hides meaning
  • Slang or regional terms
  • “Pedantic content” – big showy words where simple words will do
  • Forgetting the audience

Plain language is…

  • writing content that people can easily understand the first time they read or hear it
  • usable and meets users needs so they can act on it
  • not forcing your users to read content several times to understand it

How can plain language help?

  • Your users will be loyal
  • Will widen your site’s appeal, audience, and influence

WCAG 2.0 principles of accessibility

  • Plaing language supports POUR
  • Plain language is ‘Understandable’ in ‘POUR’
  • Plain language makes your content accessible for all

Plain language is not…

  • dumbed down content, it’s meeting the needs of your audience

Don’t forget…

  • People with low literacy skillls
  • Pleaople with low language proficiency
  • People with cognitive impairments
  • People with dyslexia
  • People who are Deaf or hard-of-hearing
  • People who are aging

What you can do

  • Write for your specific audience
  • Write for the average reader
  • Dont’ be clever, make it simple
  • Assume audience is intelligent but don’t assume they’re familar with your topic
  • Inverted pyramid method: put the most important information at the top and the background information below
  • Be concise – cut out excess / filler words
  • Use minimal text and short sentences
  • In print people write to tell a story, but online we should write about topics so users can complete their tasks


  • Write in active voice, avoid passive voice
  • Use simple verb tense and base verbs (present tense)
  • Avoid ‘hidden verbs’ such as ‘provide assistance for users’ instead of ‘assist users’
  • Use complete sentences
  • Use words and terms that your users are familiar with
  • Provide direct insturctions
  • Talk with your users: use personal pronouns
  • Avoid jargon, or explain it when necessary
  • Use ‘must’ instead of ‘shall’ in requirements


  • Test with users
  • Conduct A/B testing


  • Always consider your users’ needs first
  • Your users want to complete a task
  • Talk directly to users
  • Use everyday terms
  • Don’t follow trendy content practices
  • Each medium (mobile, dekstop, app, video, podcast) may require tailored content
  • Read your content aloud
  • Test your content
  • All of these help you incorporate accessibility throughout your project lifecyle