I'm developing a webpage for internal users who will spend a few hours a month using it. Most of the elements on the page are straightforward, but a few could cause hours of work to undo if they have the wrong values (depending on how long before it is fixed). The values are system generated and are 99% of the time correct, but 1% of the time need modified before the changes are persisted to the database.
I'd rather not allow the users to just change the values, as there is a chance they could change one by mistake. I'd prefer to disable them and make the users take some action to allow them to be changed. I'm considering:
- An "allow editing" checkbox
- An "allow editing" button or icon (with a hover-over)
- An "edit" button that brings up a dialog to allow users to type a new value
- An "are you sure" dialog (I'm not thrilled about this one, as I feel nobody reads them)
Of course, only certain experienced users will be allowed to edit these values, and they can get help if they get confused, but this isn't going to be their primary job, so I'm more interested in protecting them from mistakes then absolute efficiency.