We have an on screen keyboard on our website and are debating ISO vs ANSI because we are targeting European and Nordic customers. Unfortunately the keyboard layout can not really be detected with JavaScript.

I have never been overseas but in North America I have rarely seen anything but a United States keyboard layout(ANSI).

Is the ISO keyboard layout common enough overseas merit showing ISO ANSI?

  • You can probably use country and/or language and/or platform to determine the best layout. CLDR probably has helpful info for you. – jcaron Aug 18 '18 at 16:01
  • @jcaron yes you can some but ISO vs ANSI has really been a toss up in my experience. Meaning it still doesn't answer which is more common in the Nordic countries. – William Aug 18 '18 at 16:02
  • 1
    According to www-01.ibm.com/software/globalization/topics/keyboards/… all western and northern european countries use the ISO layout. But note that the layout goes way beyond ISO vs ANSI. There are lots of of differences in the layout of the various keys from one country to another (possibly even from one language to another in the same country) and from platform to another (macOS and Windows don't use the same layouts), which are probably more important than the physical layout, especially for an on-screen keyboard. People don't type on screen blindly. – jcaron Aug 18 '18 at 16:47
  • @jcaron "all western and northern european countries use the ISO layout" I'm assuming you mean all but the United States which may be true. – William Aug 18 '18 at 17:02
  • 2
    I’m talking about European countries only, so I definitely exclude the US. Wikipedia seems to indicate that some Eastern European countries use ANSI layouts but that does not seem to be consistent with other sources. – jcaron Aug 18 '18 at 21:09

Kudos for considering the user and their preferences on something as integral to the UX as the keyboard they use, and prefer. Since you are willing to consider the choice between ISO and ANSI, presumably with the ability to actually choose any keyboard layout, I'm going to suggest that you tackle the entire issue, and give the users the control of their choice. There are, as I see it, four levels to work through.

Layout availability

I would recommend that you develop the ability to accommodate more that just ISO and ANSI layouts. Research should show you what are the commonly used layouts in your target audience, and I suspect that it will be a number greater than two. What ever the research shows as having a non-negligible market share for layout choices in your audience should have the ability for your website to display and use. With the listed target audience you could be looking at a dozen, or more. While it might be a bit of a bother to develop them originally, the most important aspect will be knowing that you will develop multiple layouts, and plan for the code-base to accommodate any layout supplied to it.

Initial layout

As you are doing this for a website, I'm going to presume that you have access to back-end technology and are not limited to what JavaScript can discover about the user. The HTTP request-headers include an Accept-Language field. While it's not required that the browser send that field, it is worth checking it. Since it is a "range" field, there might be more than one language listed, and it's possible that the aggregate could reveal a likely layout better than the first-listed language. In any case, I'd recommend using that field, when available, as the selector for the layout to use. If the field is missing, the IP address might help. Of course, with TOR and VPN options available, it is much less reliable, and should be a consideration rather than determination. That is especially true if the IP seems at odds with other indicators. As a final layer of selection, your website is likely to have different URLs for different languages (I would hope), and you can select a layout conducive to the page's language. If all else fails, since your target audience is "European and Nordic customers," use the ISO as the fallback choice.

Kiosk considerations for layout

If the website is intended for use on a Kiosk, make the initial layout select-able by a config file loaded into each specific kiosk, and set that to the most common layout locally. If the website is both kiosk-enabled and general web access, develop some flag for the kiosk to send to the site to select its layout. Again, based on an individualised config file in the machine.

User choice

No matter which layout is served when the user connects, give an option to switch to something else. Many mobile keyboards have their controls under a gear icon as one of the keys on the keyboard, near where ALT and CTRL are on a desktop keyboard. The iPod Touch, running under iOS 6, has the globe with long/lat lines rather than a gear, with the same placement. If you can make that option available, the results can be added to any other preferences that you save in a cookie, or user profile if you have that functionality onsite. Perhaps, as an enhancement to the users, you could detect the platform they are on and use the icon common for that platform: globe for Mac/iOS devices, gear for Linux/Android, and double-gear for Windows.

Kiosk considerations for user choice

If a kiosk is the source of the user input, still offer the ability to switch layouts. In addition, develop a way to reset the display when the user is finished, or it's determined that the user has abandoned the kiosk. At the same time that the display is reset, the layout should be reset to the initial layout as determined above.

Other keyboard options

It is worth acknowledging that some users might already have an on-screen virtual keyboard, or be on a mobile device that has an on-screen keyboard in-built, and the option to install third-party versions as well. In either case, if you can defer to that choice you will be accommodating the user's choice of layouts, and eliminate any learning curve associated with using your developed layouts completely.

Layout considerations

Some virtual, or on-screen, keyboards attempt to duplicate the physical keyboard. Don't do that! No matter what layout is used, it's very unlikely that the users will be doing touch typing with the on-screen keyboard, and mimicking the physical keyboard will add more than is needed for website usability. It will also require more screen area, or smaller "keys" as targets for the user. Rather, use a simplified layout with strictly alphabetic characters, and use toggles to reach other characters. An example of which is the layout from an iPod Touch.

iPod Touch
iPod Touch layout

If your keyboard routines can be coded to detect a long mouse click, or a long press on touch, then I'd recommend using the trick that is on Android phones. The layout is essentially the same as the iOS version, with the addition of a second, smaller, character on the keys. If the user does a long press on one of those keys a tooltip opens with the second, and maybe several other, characters available. Sliding into the tooltip and selecting one of the alternatives will enter that rather than the original character. This can be seen in operation on the en-us layout, and the Norsk layout.

en-US layout
in the en-US layout

Norsk layout
in the Norsk layout

Having used that system I really dislike returning to the iOS variation on the iPod and iPad.

  • I was aware of the accept-language option but that still doesn't give the information to accurately informed guess which layout it is. Language really isn't that helpful. English could many a lot of options. There are really only 3 layouts used in the world on laptops and that is ANSI, ISO and JIS. JIS is japanese and well not applicable. – William Aug 19 '18 at 1:15
  • The Accept allows for multiple language choices. en might be the first, but something else, more specific, could be 2nd or 3rd. That gives a better chance of choosing a better layout. You're not limited to the laptop emulation either. Nordic customers might appreciate the ability to type ø and æ, etc. without using other tricks. The physical laptop keyboard might be ISO but the user can still select variations in their system, even if the keycaps don't match. – Gypsy Spellweaver Aug 19 '18 at 1:35
  • Okay as an expmale what do I show English users? UK English keys or american qwerty? – William Aug 19 '18 at 1:37
  • If you examine the full Accept it probably has en-UK or en-US, or en-CA, etc. Based on what's there QWERTY for en-US, generic ISO for any other en-? and for unspecified en. US users are more likely, than not, to specify en-US over en. – Gypsy Spellweaver Aug 19 '18 at 1:40
  • As an example of the options, there is a long list of keyboard layouts on this answer. You could experiment on your own machine if it's windows, and see what options there are for you to choose from as well. – Gypsy Spellweaver Aug 19 '18 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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