1

On an open-source project I'm involved in, one of our devs added a mini-game for April Fools Day, which could be opened and played by pressing the Konami Code sequence on your keyboard (up, up, down, down, left, right, left, right, B, A, enter).

In a GitHub issue, we received a complaint about the game, which included this line:

... but I hope the Codidact team would have the decency to acknowledge that such "easter eggs" can be disastrous to users with mobility impairments who use the keyboard to control the mouse, and promise to not allow such "easter eggs" in the future.

A couple years ago I spent some time using the keyboard and not my mouse, and personally never had a problem with accidentally triggering something with the Konami Code, because it's not a sequence that - in my experience - is likely to be typed accidentally. It's hard to get such a specific sequence if you're not trying.

However, since I'm not an expert on this topic, I figured it'd be worth it to confirm one way or the other: Is having a Konami Code Easter Egg an accessibility problem, from a keyboard-user standpoint?

7
  • Did they say what 'disaster' is caused by this code? Is it accidentally triggering it? Or is it that keyboard-only users can't use the game itself?
    – JonW
    Apr 8, 2021 at 14:10
  • @JonW - No, they didn't give many other details. The game is played using the keyboard, but I didn't hear any reports of it being accidentally triggered. There was a bug that the escape key wasn't closing it, but that's about it.
    – Mithical
    Apr 8, 2021 at 14:14
  • Just to point out, that isn't the Konami code. It should be UP, UP, DOWN, DOWN, LEFT, RIGHT, LEFT, RIGHT, B, A. (and maybe START at the end, but not sure if that is required for all games or not).
    – musefan
    Apr 8, 2021 at 14:31
  • 1
    @musefan - Errr, yeah, my bad; incorrectly wrote it out here. (It was properly implemented in the actual thing.)
    – Mithical
    Apr 8, 2021 at 14:35
  • What happened when you tested this sequence with a screen reader?
    – Izquierdo
    Apr 8, 2021 at 17:00

4 Answers 4

5

Ignore that person, they are using accessibility as an excuse for the fact that they do not like a feature on the site, the odds of using that combination of keys when using a screen reader by mistake are about a thousand to one.

Especially as screen readers have modifier keys to ensure collisions are minimal.

Only thing I would say is make it clear that if you do activate the easter egg by mistake that you can exit with Esc plus have a button that you can focus and click to exit. Also make sure focus is returned to the last place in the document when it is closed.

The last part is just a final bit of making it bullet proof in case someone does happen to accidentally hit that key combination.

Obviously if the key combination is much shorter (or interferes with normal keyboard operation by using e.preventDefault()) then that is a different story.

Edit

As for some reason this got the one downvote (despite being written by someone who uses a screen reader every day for work and works heavily in accessibility) I am guessing I better elaborate on why the Konami code is not a problem.

For clarity this advice is specifically for the Konami code activating an Easter egg, not a comment on Easter eggs themselves or shorter key sequences (which I already said).

Up, Up, Down, Down, Left, Right, Left, Right would be an "interesting" key sequence to use in a screen reader to say the least.

You would essentially be doing:-

  • previous item
  • previous item
  • next item
  • next item
  • previous character / cell / item in list
  • next character / cell / item in list
  • previous character / cell / item in list
  • next character / cell / item in list
  • NVDA - Jump to the next button (if in a form) / JAWS - Jump to the next button (if in a form) / VoiceOver - pretty sure does nothing without modifier key
  • NVDA - invalid command / JAWS - next radio button if in form else nothing / VoiceOver - nothing (unless holding modifier key)

Now we could argue that someone might bind their keys differently but even then, the odds of that sequence of keys being used accidentally is ridiculously low due to the repetition of conflicting commands (the first 8 keys would essentially mean you ended up where you started, or if you rebound them to different keys end up repeating very strange commands).

And as I said, if magically someone does do some strange operation (maybe they are checking a complex form and want to check the same field 4 times and then jump to a button which is magically activated when you type the letter "A" and then "Enter" 🤣?) then as long as there is a way to easily exit the game then this is not an accessibility issue.

And believe me, if the Konami code is the worst accessibility issue you have on your entire site, you have the best website in the world and no disabled user will begrudge you having a little bit of fun once a year if for 95%+ days of the year your site is perfectly accessible!

SO back to my original conclusion - from an accessibility perspective this is not an issue and anyone telling you it is just wants to suck the fun out of things because "it is not professional" or some other reason, which is an entirely different thing to accessible. /end rant 😁

Any relevant WCAG guidance?

Yes, we have SC 2.1.4 Character Key Shortcuts. You are fine here as this is not a single character shortcut key

SC 2.1.2 Keyboard Trap - you are fine here if you implement the Esc key to close and or a <button> to close the game as discussed.

SC 2.2.2 Pause, stop, hide - you pass if you can hide the animation (the game), but as an added extra step if the game automatically starts with an animation you may want a different loading / home screen that is static using the prefers-reduced-motion media query.

SC 3.2.2 On Input and SC 3.2.5 Change on request do not apply here due to how the game is activated, however they are probably a good indication of the potential issues of unexpected behaviour.

Yet again if the key sequence was more typical and shorter I would cite this as a concern, but due to the chance of accidental navigation being negligible I would not worry.

This perhaps is the closest you will get to an actual argument against the Konami code though. Ironically I would argue that if someone enters that key sequence they are hoping to find an Easter egg so it would be expected behaviour!

All other WCAG - You obviously need to ensure that the game itself is accessible, but that would require me to list nearly every other criteria and isn't related to the Konami code, so I will just mention it here as something you need to consider.

Is there anything else I could do to improve accessibility while keeping this feature?

Yes!

First when the Konami code is entered have a modal appear that explains:

"you have entered the Konami code. The Konami code is (key sequence) and (explanation of the history of the Konami code)."

Then have two buttons

"play our game as a bonus for finding the Konami code?"

or

"please disable the Konami code for me".

That way you give users the option to disable that key sequence, but you also explain why there was a popup in the first place.

Depending on the site, if there is a user settings screen, you could add the option to disable the Konami code there too (you do have an accessibility settings screen don't you? 😋).

Just a couple of suggestions that could make this even more accessible with very little effort.

1

Firstly I want to say this answer is based on the general concept of easter eggs in software, it is not specifically about your software only.

To answer your question about accessibility, I do not believe that this feature would have an affect on that. Not only because of the low chance of it being triggered by mistake, but also because the feature is intended to be triggered by the user when that sequence of keys is entered. From the developer point of view, the software is doing what it is supposed to do under those conditions, and this applies to all users of the software equally.

However, there could be something to be said about this having a negative effect on the user's experience. Not everyone will appreciate an easter egg and for some users this could be highly undesirable. At an extreme case, imagine a user with a gaming addiction that accidently finds this and then spends the rest of the week side tracked from doing their actual work. Again, it's an extreme example, but an easy one to highlight potential unforeseen risks.

Then you have to consider that open-source software is typically used by other people/companies within their own products and their personal policies may not allow for something "fun" to be included in their software as they may deem that it would negatively affect their professional image. As a user, I would personally enjoy such a hidden feature, but as a software developer I would not appreciate a hidden feature finding it's way to my end-users - moreso if there are bugs with it. (Imagine if a bug causes the entire system to fail... not good).

It is possible that the people who have complained are merely using "accessibility" as an excuse to avoid features that they just don't want to see in the product. It is quite common (in my experience) for users to use the "benefit of the many" excuses to try to justify something they really just want for themselves.

1

In the future, before you launch, test this with someone who uses a screen reader (do your own test if you can't find a regular screen reader user). Find out from your test if any functionality changes. The entire sequence might not have an effect, but "up up" might move the user away from something they were doing.

1

Keyboard 2.1.1 Level (AA)

All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints.

So based on the above criteria, it may be possible, as long as you provide an alternative way to reach that "information".

Although, there is an argument that can be made if the easter egg provides absolutely nothing of value. The real definition of accessible content is really to make sure all users can use the website/application equally.

So if it's just a simple "fun" presentational item and not something that provides an advantage to a non-disabled user, then you should be fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.