I notice a significant difficulty for my users in completing forms where they need to send some images. This is because the upload is done all at once, after clicking the submit button.
The best way to work with the form is through AJAX uploads, where images are sent as soon as they are selected by the user. Therefore, when the submit button is pressed, all the uploads have already been completed and the button’s action occurs quickly.
Some plugins like Gravity Forms do this masterfully, and I think it’s a good example to analyze because, in addition to the AJAX upload, they also offer optional image compression, which I believe is a very interesting “plus”.