Question: I know semantic tags were added in HTML5.

So isn't the table tag in HTML4 not a semantic tag?

Can only tags such as header, section, article, etc. added in HTML5 be called semantic tags?

I'm really curious.

Answer: 
I wouldn’t say that there were no semantic elements in HTML 4 and before. It’s more that they were mixed with elements that control visual presentation, like `<font>`.

Also `<h1>` and other heading elements were already around, that are clearly semantic. Most notably the `<form>` related tags are purely semantic, and as you say, the `<table>`.

After 1996, with CSS, *separation of concerns* between visual presentation and document structure became achievable, hence the push towards more semantics in HTML 5 and against presentation-tags.

The [Accessibility Tree](https://developer.mozilla.org/en-US/docs/Glossary/Accessibility_tree) is another proof that HTML 4 already had semantics.

It is generated from HTML (from the DOM), and serves exclusively for conveying document and interaction semantics to users of assistive technology. [The first accessibility guidelines were from the early 2000s](https://www.html5accessibility.com/browser-acc.html), so they were based on HTML 4.
well Semantic html is html that introduces meaning to the web page rather than just presentation. For example, a `<p>` tag indicates that the enclosed text is a paragraph. This is both semantic and presentational because people know what paragraphs are, and browsers know how to display them. A semantic element clearly describes its meaning to both the browser and the developer. here you can see html5 semantic elements
<https://webflow.com/blog/html5-semantic-elements-and-webflow-the-essential-guide>

considering that CSS wasn’t introduced until the end of 1996 styling options were very limited developers found solutions by building the interface layout using tables. As CSS matured the table-based layout was replaced by the based layout, which allegedly solved the semantic contradiction in the cases that layout was conveyed as table data. so it is safe to say that table in html4 was a semantic element. you can also check the link below to read more about it:
<https://www.evinced.com/blog/its-just-a-matter-of-semantics/>