Labels on password reset form no longer point to their corresponding input fields
Summary
When changing your password, the "New password" and "Confirm new password" labels no longer point to their corresponding input fields. This is an issue for accessibility (screen readers may not be able to identify the appropriate label for those fields) and for automated tests (which is how I discovered this issue).
Steps to reproduce
- Sign out of GitLab, click "Forgot your password", and enter the email address for your account
- Open the email that GitLab sends you and click the "Reset password" button in that email
- Click the "New password" or "Confirm new password" labels on the "Change your password" field
Or, alternately:
- In a brand new instance of GitLab, visit the home page (this will redirect you to the password reset page for the root user)
- Click the "New password" or "Confirm new password" labels on the "Change your password" field
What is the current bug behavior?
Clicking the "New password" or "Confirm new password" labels does not select their corresponding input field.
What is the expected correct behavior?
Clicking the "New password" or "Confirm new password" labels should select their corresponding input field.
Relevant logs and/or screenshots
Output of checks
This bug happens on GitLab.com. (And every other GitLab installation really.)
Possible fixes
I'm certainly no expert on GitLab's code base, but the form in question seems to be rendered here: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/views/devise/passwords/edit.html.haml#L8-13 At first glance that code does seem to be correct though, so I'm not certain as to exactly what's triggering this problem.
I would also recommend you update your tests to catch this case. If the lines at https://gitlab.com/gitlab-org/gitlab-ce/blob/master/spec/features/login_spec.rb#L15-16 had referenced the password and password confirmation fields by their labels instead of IDs, this issue would have been caught by the tests.
This issue seems to have been introduced in 1dd826d4.