Use semantic tags where possible. Instead of <div class="container">, consider using a <main> or <article> if this content is the main focus of your page. Avoid <div> tags when a more meaningful element can replace them.
A <button> should not contain a heading tag (<h3> in this case). Buttons are typically used for actions (like form submission or navigation), and wrapping a heading in a button is semantically confusing. If “Learning” is a label or category indicator, it might be better as a <span> or <p> styled as a badge instead of a button.
Use <time> for the date, with the datetime attribute for machine readability. This helps screen readers and improves accessibility.
<time datetime="2023-12-21" class="date">Published 21 Dec 2023</time>
Headings should follow a logical order for accessibility and SEO. Avoid skipping heading levels (<h1>, <h2>, <h3>, etc.). If "HTML & CSS foundations" is the main title, use <h1> only once, and make sure subsequent headings follow a hierarchical structure (<h2>, <h3>, etc.) based on their importance.
Avoid using <h2> for the description. Instead, use a <p> tag for non-heading text.