James is a freelance web developer based in the UK, specialising in JavaScript application development and building accessible websites. With more than a decade's professional experience, he is a published author, a frequent blogger and speaker, and an outspoken advocate of standards-based development.
James's articles
This article teaches readers how they can perform instant form validation using JavaScript. The article also explains how a validation polyfill can be made.
When you tick the 'show password' box on a site you expect to be able to see your password. But what happens for users with screenreaders? James knows.
James Edwards shows you how to extend the capabilities of the HTML5 drag and drop API, so it can handle multiple elements, and support keyboard interaction.
It's getting more common for sign-up forms to enforce a specific password format. But is this good password UX? And is it even good security?
This article is about when JavaScript feature detection fails, by the author James Edwards.
James takes a hard look at code examples and the common problems they have, to try to establish some best practice for how they should be done.
James discovers how focus behavior is not as simple as he thought, and that modern browsers have been changing the rules.
James looks at some of the most important media events, examining what they mean and how they behave in current browsers.
When handling keyboard events, most scripts stick to a core accessible set, but there are other keystrokes you might consider to improve usability.
James describes a simple but surprisingly effective technique, for synchronising multiple media sources, in order to add accessible audio descriptions to an existing video.
Looking at two JavaScript shorthand expressions that rely on automatic type conversion, and discusses when they are - and are not - a good idea.
This article introduces a short function which, given a DOM node as input, finds an ancestor node in the DOM tree.
This article introduces a function for string abbreviation.
This article focuses on improving the accessibility of the HTML details element.
This article presents a function that parses an ISO datestamp into a Unix timestamp.
This article presents a simple, but powerful function which cleans up the DOM. The cleaning process removes extraneous DOM nodes such as comments.
Read Why Would You Write Your Own CMS? and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
This post introduces a utility function for applying padding to strings and numbers.
Read Multi-threading in JavaScript and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read CodeBurner for Everyone v1.6 and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Sophisticated Sorting in JavaScript and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read What's The Best Date Format? and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Counting with an Arbitrary Character Set and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read My Favorite JavaScript Design Pattern and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Assignment inside a Condition and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read The Footer's the Menu and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Creating Shadows Around Polygons in CSS and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Contiguous Sibling Selector and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Better Passwords #3: Caps-lock Warnings and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.