DEV Community

Cover image for 15 HTML5 best practices for beginners to master.

15 HTML5 best practices for beginners to master.

menomanabdulla on July 11, 2021

Whether you are a beginner or an expert in Hyper Text Markup Language (HTML) it is important to follow some best practices in order to keep your HT...
Collapse
 
imranfakhrul profile image
Imran Fakhrul

Very good article for a beginner to focus on specific things. But I think Kebab-case naming, Atomic class & Variant class in parent element those are just some patterns rather than best practices. They can be easily altered with another pattern.

Collapse
 
menomanabdulla profile image
menomanabdulla • Edited

Exactly, totally agreed. For beginners it's important to come in a pattern first then move on whatever you seems best based on experience, I figured it out that way. Most importantly I tried to give message by those points that "follow some naming-convention" that extremely beneficial for personal development as well as team colab.Thank you sir, you nicely point it out.

Collapse
 
tamalnh profile image
Tamal H • Edited

found this comment is more informative. wow awesome!

Collapse
 
alvaromontoro profile image
Alvaro Montoro

Is there an advantage of having the script at the end of the body over using defer or async in the head?

Collapse
 
imranfakhrul profile image
Imran Fakhrul

The basic:

script tag's location in an HTML document makes a lot difference in terms of performance. script tag is parser blocking. So when an HTML document encounters a script tag, it stops parsing the rest of the HTML and starts downloading the JS file.

script in head:

When you load a website, it creates a great impact on UX how soon the UI appears on the screen. When you put your script tag inside head tag (or in the upper side of the HTML doc), the user will be late to see the UI and as a result the user could see a blank screen for a certain period of time.

script at the end:

So if it goes at the end, the HTML is already parsed and the UI will be shown to user before JS file starts downloading. Though, to interact with the UI, the JS file need to be downloaded first.

async, defer in script tag:

When you set async, defer in a script tag, this file is considered as less important for the UI, so the file won't block the HTML file from parsing. It will be downloaded asynchronously. So it does not create any effect where you put this kind of script.
But still I think it's better to put it at the end as HTTP/1 can only make 6 requests at a time, so there is no use of start downloading a less important (async, defer-ed) script at the first place.

Collapse
 
menomanabdulla profile image
menomanabdulla

awesome! explained in-details. Your effort is admirable, love you man <3

Collapse
 
siddiqnx profile image
Siddiq Nx

The scripts get downloaded as and when the parser encounters them. So having them in head will start downloading them earlier. Scripts that is important for user interaction can be put in the head with async or defer. Scripts like analytics etc. can be included at the end as it could take up potential download bandwidth needed for other important resources like CSS etc. if included earlier.

Collapse
 
menomanabdulla profile image
menomanabdulla

@siddiqnx already explained nicely, Thanks buddy. I already added some point in article. If you have some super important script(like API request) that really need to inject in head you can inject them in head. There is always some scripts those are less important to load at the beginning you can put them in end of the body that will assist you to load your DOM without any unexpected behavior. I hope you got it, Thanks.

Collapse
 
dainemawer profile image
Daine Mawer

Very cool. You missed our the element in the HTML semantics section. That’s a very important element! You may also want to add that when using HTML5 semantic elements, you’ll always want to ensure that they have an aria-label attribute for accessibility. Nice work!

Collapse
 
menomanabdulla profile image
menomanabdulla

Thanks buddy, nicely said. Apricate it, I will concern. If you love this content you can follow me. Stay tuned.

Collapse
 
akhilbollu profile image
Akhil Reddy Bollu

Thanks❤🌹🙏

Collapse
 
menomanabdulla profile image
menomanabdulla

Pleasure, stay tuned. You can follow me if you love it.

Collapse
 
srabon444 profile image
Ashraful Islam

Very informative. As a beginner web development learner It gave me a lot of insight that I didn't know before.

Collapse
 
menomanabdulla profile image
menomanabdulla

I am soo happy, you find it insightful. Thanks a bunch, keep kicking.

Collapse
 
samadfcibd profile image
Abdus Samad

Nice article. Thanks for your effort.

Collapse
 
menomanabdulla profile image
menomanabdulla

Happy to see you love it. You can follow me for coming up next posts in your feed. Stay tuned. Thanks, dear <3

Collapse
 
pradeepku123 profile image
Pradeep Kumar Behera

Content rich article. Gain So much Knowledge at one Place Thanks.

Collapse
 
menomanabdulla profile image
menomanabdulla

That's help to boost energy to stay stick and encourage me to write on tech. Glade to see you love it. You can follow me here.

Collapse
 
tamalnh profile image
Tamal H

very informative

Collapse
 
menomanabdulla profile image
menomanabdulla

Thanks buddy, stay tuned.