Lack of semantic meaning in CSS selectors

CSS is about separating content from style, the Open Eikon style sheets do not follow this basic principle, example:


Title Text



Title Text


Explain the semantic difference between *header* and *header2*?

Best Answer

  • Eikon Web UI (formerly App Helper) was originally created to resolve a set of problems (a bit generic I know). One of them was supporting views which were using (at least some) this particular DOM structure/class names.

    I agree that it may not be the best naming convention and semantic approach, though there's a fine line between finding the best quality solution and finding the best working achievable solution as the process of changing it to any other name at that stage would be costly and does not add enough justifiable value.

    At the same time introducing a particular naming convention (especially incorrect one, which is quite subjective:)) creates potential legacy and backwards compatibility issues; also adds another layer of dependencies when continuously used across the product.

    Maybe I went a bit too deep, nonetheless we're aiming to provide backwards compatibility and support on-going development, phasing out/deprecating and improving the our code base, based on feedback from Eikon Web UI users/developers.

    Feel free to reach out to me if you have any queries about the Eikon Web UI. I'm always happy to discuss ideas, new features, improvements and more :)

    Cheers Greg

Answers

  • The semantic difference comes from the commonly used notation for HTML. Here's the [link][1] to the w3 site, where all necessary information is provided. Your HTML list display entity (a page, a table, a list, etc) can have more than one header, hence the styling. [1]:
    http://www.w3schools.com/html/html_headings.asp
  • @Evgeny header numbers refer to the depth of the heading, i.e. "1 title, 1.1 subtitle, 2 section", this semantic detail is very specific and does not follow through the Eikon styles.
  • Legacy support is acceptable, but going forward the documentation needs semantic descriptions of the styles and there is the option of supporting both naming schemes in the CSS naming.