<label>
для заголовка <form enctype='multipart/form-data' action='/uploads.php' method=post>
<label for=b1>
<u>Your</u> caption here
<input style='width:0px' type=file name=upfile id=b1
onchange='optionalExtraProcessing(b1.files[0])'
accept='image/png'>
</label>
</form>
Это работает без javascript. Вы можете украсить ярлык до любой степени сложности, до вашего сердца. Когда вы нажимаете на метку, клик автоматически перенаправляется на вход файла. Сам ввод файла может быть невидимым любым способом. Если вы хотите, чтобы метка отображалась как кнопка, существует множество решений, например :
label u {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
text-decoration: none;
color: initial;
}