# HTML – Code Guidelines | Ocelot.Social Documentation
Ocelot.Social Documentation

Skip to main content

- Introduction
- Neo4J

- Backend

  - GraphQL
  - neo4j-graphql-js

- Webapp (Frontend)

  - Components
  - HTML
  - SCSS
  - Vue

- Testing Guide

  - End-to-end Tests
  - Webapp (Frontend) Tests
  - Backend Tests
- Deployment
- Contributing
- Feature Specification
- Code of Conduct
- Documentation
- License

# HTML – Code Guidelines

April 5, 2026
Less than 1 minute

On This Page

- We write semantic markup
- We write as little HTML as possible – and as much as necessary
- Recommended reads

# HTML – Code Guidelines

## We write semantic markup

We avoid using `divs` and `spans` and try to choose more meaningful HTML elements instead. If unsure which element to use this list by MDN can be of help.

Why?

- semantic markup is crucial for accessibility
- it makes the code more readable for other developers
- it benefits our SEO

For more background see this article.

This doesn’t mean you can’t ever use a `div` – just think twice before you do!

## We write as little HTML as possible – and as much as necessary

HTML is used to structure content on the page and should therefore reflect its complexity. Not more and not less. Most content does not require deep nesting of HTML elements – if you find yourself wrapping `container` around `container` or adding an element just to correctly position another element on the page this calls for the use of CSS instead!

Why?

- deep nesting makes it hard to understand, style and maintain components
- it can lead to performance issues

## Recommended reads

For a deeper dive into the WHY and HOW have a look at the following resources:

- HTML: a good basis for accessibility
- Why, how, and when to use semantic HTML and ARIA