UPDATE: As of Webkit build r230963, this issue has been resolved in Webkit.
===========
Since the recent Safari 11.1 update on macOS and iOS, as
For workaround I delete the input type file completely from DOM using jQuery remove() method.
$("input[type=file]").each(function() { if($(this).val() === "") { $(this).remove(); } });