Autocomplete forms

The easier it is to fill out forms automatically, the more likely you are to get users to submit them. But nobody likes filling out forms, and autocomplete is getting smarter and smarter — but in my experience, it’s rarely perfect. So it’s nice to know that the HTML standard has added an autocomplete attribute to form fields that makes it easier for browsers to guess what data goes where.

Google has announced that Chrome now fully supports this spec, and there’s another page for developers that talks about how to make forms friendlier.

multi-select with checkboxes

If you have a very long list of options, neither <select multiple> nor <input type=”checkbox”> is quite ideal. This combines the two using jQuery.

When an option is selected, a checkbox (with label) is automatically created using the same “name” and “value” attributes. When the checkbox is un-checked, it fades away (after a brief delay) and is re-attached to the single-select.

Note that this uses progressive enhancement; if JavaScript is disabled, an ordinary <select multiple> will be provided. If some options are already selected in the HTML, those are extracted as checkboxes automatically. The “required” attribute is also passed along to the checkboxes, if set in the <select>.

Using CSS to “count” elements in a group

A List Apart has an article today about how you can use CSS selectors creatively to “count” the number of elements inside another element. This would be useful if, for instance, you wanted to style elements of a list differently when there’s more than six of them in the list.

Here’s the CodePen if you just want to see it in action.