Obscure HTML 5 Features That May Make Your Day

Stumbling into one of those popular, so called “cyber cafès” means that nowadays you will probably find tables occupied by hipster-like web designers, delighting themselves into glorifying the moment when they embraced SASS, React.js, jQuery, Node JS, Ember, Bootstrap, Angular and others. Well, let them go on all they want as these HTML 5 features are sure to make them sit up and pay attention FAST.
Hiding an element
HTML attributes are a part of the original specification, but in the new HTML 5 there are some interesting ones, of which the shining star is probably placeholder. Many others were overlooked, like hidden for example. As the name implies, its purpose is to hide an element, and it behaves pretty much like the CSS property display: none; it is not rendered on the page, but any script inside it will be triggered. Being an inline attribute, it will work even if the CSS is disabled so, although most of the time the CSS version is preferable, it can still be handy in certain situations.
<section class=”optional” hidden> … </section>
Nicer names for our downloads
It is quite typical, on a large website, to have a lot of documents available for download but, since they are likely generated by a database, their names are quite long and meaningless. With the aid of the download inline attribute we may define a different (and hopefully, more meaningful) name for the downloaded file.
<a href="/files/adlafjlxjewfasd89asd8f-rr135.pdf" download="report.pdf">Download File</a>
Set up the focus
Another inline attribute that won’t drastically change your website but can be a nice finishing touch is autofocus. When put in a form element, this element will have a predefined focus when the page is loaded.
<input type=”tel” name=”MainTel” autofocus>+49 0152 1234567
Add categories to your dropdowns
The select form element has always been the most stubborn, almost impossible to style without the aid of JavaScript libraries, but the new HTML 5 optgroup element comes to our aid. Wrapping the option values inside an optgroup creates indented categories.
<label for="showtimes">Car brand by country</label>
<select id="showtimes" name="showtimes">
<optgroup label="Germany">
<option value="audi">Audi</option>
<option value="bmw">BMW</option>
</optgroup>
<optgroup label="Italy">
<option value="alfaromeo">Alfa Romeo</option>
<option value="fiat">FIAT</option>
</optgroup>
<optgroup label="France">
<option value="citroen">Citroën</option>
<option value="renault">Renault</option>
</optgroup>
</select>
If you like autocomplete, you will love datalist
Autocomplete is one of the nicest add-ons for every form, but it works only with JavaScript; if we want to have a quick in-house solution we can use the datalist tag. Its syntax is similar to a select element, it needs an ID that is used as a reference where we need to provide the datalist.
<datalist id="phoneModels">
<option value="iPhone 6s">
<option value="iPhone 7">
<option value="Galaxy S8">
<option value="LG G6">
<option value="Motorola Moto Z">
</datalist>
<input name="phoneList" list="phoneModels" />
Unfortunately, datalist has a bad downside: it’s poorly supported. It is not supported by Safari (mobile version also), and on IE it is so buggy that it is practically unusable. But don’t despair; things may change quickly.
Mind your spelling, please
Let’s start with saying that we are going to talk about a very well supported attribute; spellcheck is recognized by basically all browsers, starting from IE 10. As its name suggests, it enables spellchecking on a text element like input or textarea. It requires a value that must be true or false.
<textarea spellcheck="false"></textarea>
Text highlighting made easy
Highlighting text has been always present in web design and it’s pretty easy to achieve with a span, but the new mark element makes things even a bit easier. Background and text color can be set via CSS and, compared to a standard span, in some cases you can save the use of a class. And it’s definitely a more semantic (and widely supported) element.
Forms too now have their target
HTML links can be opened in the same window or in a new blank one if we set the target attribute, and now we have something similar for forms. The attribute formtarget allows us to control the output of our forms. It accepts the following values: _blank (form opens in a new page), _self (form opens in the same frame; this is default value), _parent (form loads in the parent frame), _top (form is displayed at the top level of the displayed frames), framename (the form opens in the named frame).
HTML 5 has been out for quite a while now and it’s still gifting us small surprises. The greatest killer features have been exposed long ago, but in this article we have covered a lot of small, but nevertheless nice features that may give a feeling of care and refinement to your website. Often the thin line that divides a standard website from an outstanding one, runs just on small details.

More great blog posts from Alessandro Loverde

A small investment early in the deployment phase can go a long way to creating a secure environment.
Fine tuning permissions
Every CMS allows administrators to set permissions for different users or groups and, for the sake of better security, one should check that editors can only do what they...

In the beginning, the World Wide Web was all about optimization. Standard speed was around 3 kb per second, and hosting space larger than 5 MB was expensive. Then broadband became available for everyone, and web designers grew less and less obsessed with image optimization. Nowadays, younger web...

In the previous part of this tutorial we explored components: the distinctive React feature. We did no magic because we wanted to focus on the basic structure of components, but now the time has come to explore the advantages of generating code employing external data.
Replacing hard-coded with...

There are many web apps around, some good, some bad, some are kind of life-changing while others lay almost forgotten, but making a SaaS app is something definitely bigger; a good programmer and a talented designer are not enough. The concept of Software as a Service looks far ahead and...

Having a website just in English may be okay for most businesses. In fact, even if you occasionally need to reach foreign visitors, you can expect that whoever is interested in your services has enough knowledge of English to clearly understand what you are offering. But if you sell something...

Back in 2014, Google started to consider making the use of a secure connection (HTTPS) a parameter in their search algorithm. It began with just a 1% weight over all the other factors, but they pushed it further and further; and now, in 2018, every professional website must be served through a...

WordPress is often a popular choice for a website builder and it is appreciated by many because it gives the users a lot of freedom regarding tools and plugins. Unfortunately, this approach is not good for your SEO because WordPress does not offer many SEO tools out of the box and, if you don't...

In the previous part of this tutorial we have converted an existing HTML page into a React app, but we have not seen much interactivity so far. In this new chapter we start exploring one of the most interesting React features, the components.
Let's build something dynamic
We are going to create...

CSS is our friend; the relationship between it and web designers has been a bit turbulent over time, but near the end of the first decade of the new millennium, it settled down with mutual love and respect (in the meantime Internet Explorer has met its fate but nobody mourns the loss, right?)....

We already talked about SASS and how it can revolutionize your approach to writing CSS. We talked about variables and indenting; powerful features but easy to handle nevertheless. We mentioned that SASS has more advanced functions, and in this article we are going to explore a handy one.
The SASS...

TROX understands the art of handling air like no other company. It’s a dynamic firm and, through research and development, TROX became a global leader of innovation in ventilation systems. A business can be efficiently run only with efficient tools and TROX has chosen Scrivito to manage over 70...

One central guideline for a designer is to have a clear understanding of the medium, the way users will interact with our design. It can be a television, a computer, a book, or any number of things: design is everywhere. A mobile phone is not just a small computer; it has its own unique features...

We have already given an introduction to the jQuery library, showing how useful it can be for web designers and developers: it simplifies the JavaScript syntax for lots of useful DOM-related tasks and it can dramatically speed up the routines to select DOM elements. Now it’s time to expand your...

The concept of mobile apps has greatly evolved: with the first apps, developers tried to replicate the same experience of a desktop but, given the limited resources, the results were pretty different and, in some cases, disappointing. A more modern approach is to create mobile apps that offer the...

In the first post of this video tutorial series, the basics of React.js were covered. Now it’s time to move a bit forward: we will install React.js and configure it. Eventually, the web page of the standard web application will show up in the browser.
The installation process
The very first step...

The web is changing at a truly fast pace! New technologies break into the market more rapidly than before. The period of caution and skepticism grows shorter, as the IT world has finally understood the impact of being stuck for too long on technologies which are reliable but outdated. The time to...

CSS is great and there would be no web without it: if you have been involved enough to remember the state of the web in the late nineties, you will immediately get the point (probably, along with a couple of shivers). Unfortunately, CSS has its limitations and they are not easy ones; that’s why...

The Document Object Model (DOM) is an object-oriented representation of a web page which can be modified with a scripting language, like JavaScript: we can think of the DOM as a representation of an HTML page in a way JavaScript can understand. JQuery is a very popular JavaScript library that...

Mobile websites are not just a trend; they meet the user’s demand for a better and more rational use of their time. If we are already out of the office and need to check if the product we want to buy is effectively in the store we are confidently heading to, it’s nice to be able to check this on...

When the iPhone came out it started the mobile web revolution: for the first time, we could browse web pages on a mobile phone in a decent and usable way. As soon as people had started to do that, the limits of the resizing technology used became evident, accompanied by a high demand for a...

JavaScript has been around quite a while now and we can almost consider it part of the ”old wide web”. But the JavaScript we use now has evolved immensely since its first days. We could better say that what really evolved were the projects that had JavaScript as their core and that made the web...

Anybody interested in Javascript development has likely stumbled on MVC frameworks, a term that is pretty much going strong recently and defines a library built according to the “model - view - controller” design pattern. React.js is a Javascript library that acts as the “view” part of an MVC...

Headless CMS is a term that has been on everybody’s lips recently, along with Content as a Service and Decoupled CMS. Actually, these three concepts are very closely related; you can’t talk about any of them without citing the others as well but, for a better insight on the topic, talking about...