In this article I will explain with an example, how to use INPUT "type=file" to accept CSV file in HTML.
The accept attribute is a new attribute available in HTML5.
Note: Accept Attribute does not restrict user from uploading invalid file.
HTML Markup
The following HTML Markup consists of:
FileUpload – For selecting file.
The HTML5 INPUT FileUpload has been set with the following attribute.
accept – This attribute allows user to pre-select the specified type of files in the Choose File dialog box.
Note: Accepting all files is default behavior and hence even if the accept attribute is not specified, by default, it will accept all files.
For example, in the following code, the HTML5 INPUT FileUpload will only allow user to select CSV file i.e. file with extension csv.
<!DOCTYPE html>
    <meta charset="utf-8" />
    <input type="file" accept=".csv" />
DO NOT use the accept attribute for validation
The accept attribute does not restrict user from uploading invalid files.
INPUT 'type=file' accept CSV file in HTML
And hence, if you want to restrict user and perform validation then please refer the following articles.
INPUT 'type=file' accept CSV file in HTML
Browser Compatibility
The above code has been tested in the following browsers only in versions that support HTML5.
Microsoft Edge  FireFox  Chrome  Safari  Opera
* All browser logos displayed above are property of their respective owners.