user login: remove gratuitous tabindex

These were already
 - focusable elements
 - focused in the same order given by the explicit tabindexes

so the explicit tabindexes just make for maintenance headaches.

"The tabindex attribute was created to allow web developers
to customize the tab order of web content. Most of the time,
tabindex is not necessary. It should only be used in cases
where the default tab order is not ideal and when the tab
order cannot be changed by rearranging items in the content
and/or by altering the style sheet to reflect the best visual
arrangement. These cases are rare. In almost all circumstances,
WebAIM recommends against using tabindex."

-- http://webaim.org/techniques/keyboard/tabindex
user login: remove blank label (confuses Orca Screen Reader)

This was already omitted in themes/default/parts/modal_login.php.

Blank label doesn't contribute to text, layout
(it's a float in the margin of a normal block),
or anything else.  Blank elements are generally deprecated.

On the negative side, the blank label confuses Orca Screen Reader,
which reads "Remember me for two weeks" twice.

I've filed it on the GNOME bugzilla as well, but a11y is generally
lacking love.  So we shouldn't go out of our way to confuse
people who have reading disabilities.
Remove empty label elements

Many reference non-existent ids, which shows up in conformance checkers.
Some have inconsistent identation in the source code.

Likely some will confuse screen readers like Orca,
and there's just no reason for them.
(See previous commit message).
Fix missing ids referred to by form labels

w3c-validator points out:
  "The for attribute of the label element must refer to a form control."

Specifically, the _id_ of a form control.  The _name_ doesn't count :).
timezone_menu() needs an id so the control can be labelled

We're using <label for="timezones">, so we need
id="timezones" on the form control.

flagged up by w3c-validator:
  The for attribute of the label element must refer to a form control.
  <label class="control-label" for="timezones">Timezone</label>
roles module: associate dangling label with the correct form control

Tested using the Orca Screen Reader in Firefox (Ubuntu 12.04).
Remove <div class="inputs-list> (previous version of bootstrap)

'Up to v1.4, Bootstrap required extra markup around checkboxes and
radios to stack them. Now, it's a simple matter of repeating the
<label class="checkbox"> that wraps the <input type="checkbox">'

http://twitter.github.com/bootstrap/base-css.html
fix three labels supposed to be associated with groups of radio-/checkboxes

(Reminder: <label for="can_delete"> targets the element with _id_
"can_delete", not all the form elements with a _name_ of "can_delete").

Replacing the label with <legend> (and the enclosing div with <fieldset>)
would be best for screen-readers (nested fieldsets are perfectly legal).
However bootstrap's CSS doesn't support that usage.

Fall back to WAI-ARIA.  Tested with Orca Screen Reader.  Both e.g.
"Removable?" and "Yes" are read, but only after disabling CSS -
reported as Orca bug <https://bugzilla.gnome.org/show_bug.cgi?id=680249>.

The behaviour is not well-specified.  We don't want to use role=radiogroup
because it's not compatible with the normal html radio buttons (and yet it
"SHOULD" be present for *all* radio buttons).  The only bright side is
that there's been at least two large test suites which rely on the same
behaviour as we do here.

Disclaimers
 - Screen readers will still miss the longer help-inline when tabbing
   through the form.

 - The behaviour differs from <label for="x"> used in the rest of the form
   in that this label is not clickable.  Par for the course IMO
   (label click targets incorrectly include large white spaces;
    clicking on the field names on the left hand side will toggle
    a checkbox field...)  Someone could smooth it over in JS if they like.

 - modulebuilder still generates (invalid) labels like the ones we've
   just fixed.
activities report: fix form controls with no associated label

 - mark up the label text for <select> by wrapping both together
   in a <label>

 - bootstrap <select> defaults to block, so this change would alter the
   design (for the worse).  Use .form-inline to keep everything on
   one line.  Doing this the right way pays dividends: as a side effect,
   this improves the vertical alignment of the <select> with the label
   text.
activities report: use keyboard-accessible <button>s
user settings: fix missing label on "user meta" dropdown fields
modulebuilder: associate dangling labels with groups of checkboxes

Two last groups of controls without a labels properly associated.
(Discovered by inspection, aided by WAVE toolbar from WebAIM).
modulebuilder: fix clicking on legend to toggle fieldset contents