Necessity of HTML

I know that I have been reviewing the Detective Conan (Case Closed) movies recently, but I thought I would take a break from that for now, though I will resume later in the week. Today, I want to discuss whether or not knowledge of HTML is necessary in this day and age.

Recently, the domain name that Mainichi Anime Yume resides under turned ten years old. In a post on that blog, the owner goes over some history of her website, which includes how anime fans used to share or get their fix of information about various anime. I can certainly confirm that things were like she described. After all, I was a DBZ fan back in the day, but I am not so much of a fan now as I used to be. I do still use one alias that I got used to from the days I was a big fan, as it is still relatively unique in a few places. However, I kind of got into the HTML thing pretty late, around the time that HTML 4 and XHTML 1.x was still the latest recommendations and no mention of HTML 5 surfaced. The current standard stylesheet was CSS Level 2.1 with no mention of CSS3. However, this post got me thinking if knowledge of HTML is really necessary these days.

Many of you visiting will probably say that it is not necessary. After all, the web has been taken over by web apps like wikis, which are run of engines like the widely popular MediaWiki, and CMS platforms like Drupal or Joomla. In all of those instances, one would certainly be correct that HTML knowledge is not needed these days to keep a site up-to-date. It certainly saves time if people like me do not have to teach people the basics of HTML. After all, without such systems, people would be continually asking how to make something bold or italic. We would also mainly be communicating through email to this day, instead of being able to have a discussion via commenting. Web apps have definitely downplayed the need for HTML knowledge in a few areas.

While things certainly have improved for those that are new to computers, I cannot really say that HTML knowledge is no longer necessary. All of these web apps, with very few exceptions, we use these days are dependent on the following:

  • Server side scripting languages (e.g. ASP or PHP)
  • (X)HTML
  • Database backend (e.g. Mysql, Postgresql, MSSQL, or SQLite)

While the database backend stores the data we save via the CMS or other web app and the server side scripting language gets that data, there needs to be a way to display that information, especially in a format that we want to see. That is where HTML comes into play. Without the use of HTML, this whole piece would be one giant mess that you guys could hardly read. After all, I have seen myself how hard things are to read without some sort of separation. Another thing that would be a mess is MediaWiki and all sites running on it. Yes, you can use the specialized syntax they have to do some formatting, but according to a book I had to read during my last semester of college (I chose it, which was a plus), there are limits to what can easily be done or at all. For example, let us say one uses a term or abbreviation or acronym that many would not be familiar with in their regular lives. Normally, people will probably just create a page or link to an external source, but there is not really a need to create a page for such things that can be quickly explained. In order to give those simple explains, we would use something known as a title attribute, or tooltip. However, assigning a title attribute in pure wikitext is technically impossible according to Wikimedia. They make use of in their code to apply that title attribute. Yet, the title attribute is not exclusive to it can be used in pretty much any HTML tag. The tag is not your only option to do it to particular text that you need to quickly make the reader aware of and will make a site better for screen readers. There is the tag, which is used for abbreviations like Lt. There is also the tag, which is used for acronyms like NASA. During my studies in college, the instructor recommended using and because screen readers would supposedly read the full description provided by the title attribute, as opposed to what was actually displayed. However, I would use a if it were an entire word or a phrase that I needed to address quickly. Another situation where HTML knowledge is necessary is this blog. I have a limited editor in which I much use my HTML knowledge to have the format people see. I have to say what I want to be italic or bold or even if something needs to be a list. Now, there are plugins to change that, but I prefer this way, as it keeps my skills in HTML from going rusty. Also, to create this very theme you guys see, I needed to write the theme up in HTML and style it via CSS. Now, I could have created CSS classes to quickly make something bold or italic, but that would be pointless as that is already dealt with in the posts. Everyone may think that it is as simple as just using or or or , but and are deprecated, so those cannot be used in a theme that validates against the strict variants of HTML 4.01 and XHTML 1.0 or standards without Transitional variants, like XHTML 1.1. Also, while and are still valid, does everything in italics need to be emphasized? I put titles of books and anime in italics but they sure do not need to be emphasized. Does everything in bold really need to be read strongly? I doubt people read the title of any of my posts that way. Those tags supposedly tell screen readers how to read the text and, according to W3Schools, browsers may render them as bold and italic now, but that is up to the browser's developer. The only way to guarantee that text is bold or italic these days and have valid HTML is via CSS, but CSS will apply styles to all instances of a tag, so HTML is used to apply those attributes to certain items, like if I want one unordered list to be bulleted and one not to be. Under normal circumstances, this would be done via ids and classes in CSS and the respective id and class HTML attributes would be added to the content. On the other hand, places like wordpress.com require payment to edit the CSS, so the CSS must be added inline. To add CSS styles inline though, you must use HTML, regardless of web app (MediaWiki may be considered an exception, but it is certainly harder to read than doing it via HTML). Finally, if you want to create an EPUB and distribute it through the iBookstore, you must have a valid EPUB file. One of the requirements of a valid EPUB is that the code must validate against XHTML 1.1, though one can get away with a XHTML 1.0 doctype but it will still be validated against the 1.1 standard. Even though many programs and online services can produce EPUBs, the only way to guarantee a valid EPUB is if one manually converts the text themselves. There are many instances where knowledge of HTML is needed ranging from specifying things that wikitext on MediaWiki does not support, such as title attributes, to creating themes and ensuring things really are bold or italic to creating valid ebooks for distribution to the iBookstore.

Even though things have improved to where even the average individual can setup and maintain a website of some kind, HTML knowledge is still necessary to do things that are not part of a web app's abilities. Wikitext is not capable of doing everything from creating lists to having custom tooltips. CSS stylizes text, but HTML is used to decide what styles are used where. Blog themes also need to be written in HTML. Knowledge of HTML is even needed to make sure than an ebook meant for the iBookstore is valid.

What are your thoughts on the matter? Do you agree or disagree with me? Do you have anything to add? Feel free to comment.

Use an app on your phone (e.g. Scan for Android) to capture the image above. If successful, you should be taken to the web version of this article.

Copyright © 2015 Bryce Campbell. All Rights Reserved.