Simple HTML5 registration form I'm creating a simple registration form for a Linux installation party I'm organizing.

Although I'm a decent programmer, I rarely create HTML files. I want to know if this form is safe for my users and if it will work on most devices. Am I following all the good web development practices? Is my code pure HTML5?

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="description" content="Installation fest inscription form"&gt; 
  &lt;meta name="author" content="name - email@example.com"&gt; 
  &lt;title&gt;Installfest Inscription&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
  &lt;h1&gt;Installfest Inscription&lt;/h1&gt;
  &lt;form action="/action_page" method="post"&gt;               
        First name:&lt;br&gt;  
        &lt;input type="text" name="firstname"&gt;&lt;br&gt;
        Last name:&lt;br&gt;
        &lt;input type="text" name="lastname"&gt;
        Laptop model:&lt;br&gt;
        &lt;input type="text" name="model"&gt;   
  &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;


Thanks!
I wanted to know if this form is safe for my users and if it will work on most devices.


Your HTML form will definitely work on all devices. But as for being 'safe for users', that would probably depend on your backend code you are using to submit your form eg PHP. You would use PHP (or some other backend language eg Python) to handle the submitted data. The browser would decide if the form is safe enough based on how safely and securely you encrypt and submit the data.


  Am I following all the good web development practices?


You have followed most of the good programming practices for web development. Though there aren't many things I can improve on for such a simple webpage, there are some minor problems:


It is more conventional to use &lt;br /&gt; not &lt;br&gt; because it is a self-closing tag. Adding the / in the tag tells the browser not to waste time looking for the (non-existent) closing &lt;/br&gt; tag.
And it is not a good idea to place your input labels as 'naked' untagged text. Instead, use label tags:


&lt;label for="firstname"&gt;Firstname:&lt;/label&gt;
&lt;input type="text" name="firstname" /&gt;



Web developers usually write the doctype in lowercase, like this:


&lt;!doctype html&gt;


not this:

&lt;!DOCTYPE HTML&gt;


But there is no major difference.


  Is my code pure HTML5?


This is all pure HTML5, I see no other programming language (eg JS) or markup language (eg CSS) in your sample code.