Review of HTML markup for this blog concept I am creating a blog concept with this layout on CodePen



Here is my current code in development

&lt;article class="post"&gt;
  &lt;h2&gt;Skating Down Venice Beach&lt;/h2&gt;
  &lt;img src="http://s1.favim.com/orig/20/skate-skateboard-skinny-jeans-vans-Favim.com-205640.jpg"&gt;                

  &lt;a href="#" class="readMore"&gt;
    &lt;i class="fa fa-list-ul"&gt;&lt;/i&gt;
  &lt;/a&gt;

  &lt;div class="hide"&gt;
    &lt;h4&gt;Venice Beach&lt;/h4&gt;
    &lt;p&gt;Literally trust fund Helvetica dreamcatcher selfies. Pinterest aesthetic organic Echo Park artisan meggings tousled Tumblr, Pitchfork gentrify raw denim yr you probably haven't heard of them banjo. Street art Wes Anderson ethnic ethical authentic, High Life swag ennui. Wolf cardigan fingerstache gentrify, PBR&amp;B cray XOXO vegan deep v tote bag ethnic. Banh mi you probably haven't heard of them seitan meh Austin iPhone. High Life wolf Tonx, dreamcatcher lo-fi seitan ethnic pop-up fingerstache whatever. Trust fund Portland ethnic church-key, Tumblr squid hoodie dreamcatcher +1 seitan.&lt;/p&gt;
  &lt;/div&gt;
&lt;/article&gt;


When I move to production, I will use a MustacheJS template in Meteor. So was planning on this 

&lt;template name="posts"&gt;
  &lt;article class="post"&gt;
    &lt;h2&gt;{{title}}&lt;/h2&gt;
    &lt;img src="{{{imgUrl}}}"&gt;                

    &lt;a href="#" class="readMore"&gt;
      &lt;i class="fa fa-list-ul"&gt;&lt;/i&gt;
    &lt;/a&gt;

    &lt;div class="hide"&gt;
      &lt;h4&gt;{{city}}&lt;/h4&gt;
      {{{content}}}
    &lt;/div&gt;
  &lt;/article&gt;
&lt;/template&gt;


Is there any room for improvement here? for example, will I be better off using &lt;li&gt;s? or should I perhaps change anything else?
Your img is missing the alt attribute.



&lt;a href="#" class="readMore"&gt;
  &lt;i class="fa fa-list-ul"&gt;&lt;/i&gt;
&lt;/a&gt;


I assume that here a graphic will be inserted via CSS? Then this will not be accessible by users without CSS support, and it will probably not be accessible by screen reader and/or keyboard users. The link should have content, i.e., an img (with alt attribute) or text ("Read more") (which can be visually hidden, if required).

Also, you shouldn’t use the i element in such a case (as your use doesn’t match i’s definition). Go with span if you need an element.



Why did you skip a heading level (from h2 to h4)? Either use h3 for the second heading, or go with h1 everywhere (but then you need to use sectioning elements explicitly!):

&lt;article&gt;
  &lt;h1&gt;Skating Down Venice Beach&lt;/h1&gt;

  &lt;section&gt;
    &lt;h1&gt;Venice Beach&lt;/h1&gt;
  &lt;/section&gt;
&lt;/article&gt;


If the text titled "Venice Beach" is just some general information about it (not unique to this image), consider to use the aside element instead of section.