Антиюзабилити и masked input

Сегодня столкнулся с примером антиюзабилити. В банке потребовалось ввести СНИЛС. Как обычно, горе-разработчики вместо того, чтобы сделать стандартное поле ввода и пост-обработку на сервере, навесили скрипт для так называемого masked input. То есть в поле ввода сразу есть прочерки на месте цифр и дефисы, т.е. что-то вроде ___-___-___-__.
Но самое ужасное не это. А то, что если ввести несколько цифр и переключиться в другое окно (где у меня был скан СНИЛСа), содержимое поля полностью сбрасывается! Пришлось переносить окно окно на второй монитор, чтобы иметь возможность ввести нормально.
В общем, ругался долго. Когда успокоился, в очередной раз удивился человеческой глупости. Зачем делать эти masked input, если можно сделать обычное стандартное поле ввода input type="text" и пост-обработку на серверной стороне на случай, если пользователь введёт номера с дефисами или пробелами (на PHP это был бы обычный str_replace, даже regexpы бы не потребовались). А если уж очень хочется показать пользователю в красивой и удобной форме, что он ввёл, то под полем ввода сделать повторный вывод уже с дефисами. (Тем более, что на том сайте для редактирования СНИЛСа показывалось отдельный блок, где места было достаточно.) Кстати, это решило бы и проблему с вставкой из буфера обмена, которая на masked inputах попадается очень и очень часто.
Но к сожалению, одно из несовершенств нашего мира заключается в том, что решения использовать подобное принимают технически безграмотные менеджеры, которые просто увидели это на каком-то другом сайте, а сами разработчики либо не хотят, либо не могут донести до них то, что так делать не надо, и вместо этого просто реализуют то, что сказали. И в результате плохие решения множатся и множатся…