On the Analysis of Cascading Style Sheets - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2011

On the Analysis of Cascading Style Sheets

Pierre Genevès
Nabil Layaïda
Quint Vincent
  • Fonction : Auteur
  • PersonId : 833612

Résumé

Developing and maintaining cascading style sheets (CSS) is an important issue to web developers as they suffer from the lack of rigorous methods. Most existing means rely on validators that check syntactic rules, and on runtime debuggers that check the behavior of a CSS style sheet on a particular document instance. However, the aim of most style sheets is to be applied to an entire set of documents, usually defined by some schema. To this end, a CSS style sheet is usually written w.r.t. a given schema. While usual debugging tools help reducing the number of bugs, they do not ultimately allow to prove properties over the whole set of documents to which the style sheet is intended to be applied. We propose a novel approach to fill this lack. We introduce ideas borrowed from the fields of logic and compile-time verification for the analysis of CSS style sheets. We present an original tool based on recent advances in tree logics. The tool is capable of statically detecting a wide range of errors (such as empty CSS selectors and semantically equivalent selectors), as well as proving properties related to sets of documents (such as coverage of styling information), in the presence or absence of schema information. This new tool can be used in addition to existing runtime debuggers to ensure a higher level of quality of CSS style sheets.
Développer et maintenir des feuilles de style CSS constitue un problème important pour les développeurs web notamment car ils manquent de méthodes rigoureuses à cet effet. La plupart des moyens actuels reposent sur des validateurs qui vérifient la syntaxe, et sur des débogueurs qui vérifient le comportement d'une feuille de style sur un document particulier. Cependant, la plupart des feuilles de style visent à s'appliquer à un ensemble de documents, habituellement défini par un schéma. A cette fin, une feuille de style CSS est habituellement écrite en rapport avec un schéma donné. Alors que les outils usuels de déboguage aident à réduire le nombre de bogues, ils ne permettent pas de prouver des propriétés sur l'ensemble des documents sur lesquels la feuille de style est supposée s'appliquer. Nous proposons une nouvelle approche pour combler ce manque. Nous présentons un outil original basé sur des avancées récentes en matière de logique d'arbres. L'outil est capable de détecter statiquement une large classe d'erreurs (comme les sélecteurs CSS vides ou sémantiquement équivalents), ainsi que de prouver des propriétés liées à des ensembles de documents (comme la couverture de l'information de style), en présence ou en l'absence de contraintes définies par des schémas. Ce nouvel outil peut être utilisé en combinaison avec les débogueurs dynamiques dans le but de s'assurer d'une meilleure qualité des feuilles de style CSS.
Fichier principal
Vignette du fichier
RR-7808.pdf (600.53 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00643075 , version 1 (21-11-2011)

Identifiants

  • HAL Id : hal-00643075 , version 1

Citer

Pierre Genevès, Nabil Layaïda, Quint Vincent. On the Analysis of Cascading Style Sheets. [Research Report] RR-7808, INRIA. 2011. ⟨hal-00643075⟩
279 Consultations
1504 Téléchargements

Partager

Gmail Facebook X LinkedIn More