Résumé

  • Le premier projet public W3C sur les règles conditionnelles CSS, daté du 1er septembre 2011, introduisait @supports pour conditionner un groupe de styles à la prise en charge d’une propriété et d’une valeur. Le projet de 2012 a développé cette syntaxe.
  • Le texte candidat du 4 avril 2013 détaillait not, and et or. Celui du 13 janvier 2022 précisait qu’une déclaration est prise en charge si le moteur l’accepte avec une implémentation utilisable. La mise en page de secours demeure un choix de l’auteur.

Le navigateur avait déjà une habitude utile : quand il rencontrait une déclaration CSS inconnue, il pouvait la laisser de côté et poursuivre sa lecture. Pour une petite décoration, cette politesse suffisait souvent. Pour un nouveau système de disposition, l’affaire se compliquait. Déplacer les colonnes exige plusieurs règles coordonnées. N’en retenir qu’une partie peut donner l’impression qu’on a réaménagé le bureau en oubliant où se trouvent les portes.

Le premier projet de travail public W3C du 1er septembre 2011 a proposé l’entretien d’embauche. @supports permettait de placer un ensemble de règles derrière une question sur une propriété et sa valeur. Si le navigateur savait traiter la déclaration, il recevait la nouvelle disposition. Une autre condition pouvait réserver des règles adaptées à l’autre réponse. Le projet explorait aussi @document; dans le texte candidat de 2013, c’est la vérification des capacités par @supports qui porte cette histoire.

La question se formule avec précision : @supports (display: flex) demande au moteur s’il prend en charge cette déclaration. L’auteur peut utiliser not pour organiser l’autre branche, and pour exiger deux aptitudes, or pour accepter deux possibilités. Le projet W3C du 11 septembre 2012 détaillait déjà la grammaire et ses emplois. Mieux vaut interroger une capacité concrète que deviner les talents d’un navigateur à partir de son nom.

La recommandation candidate du 4 avril 2013 présente un exemple parlant. Les règles d’une disposition flexible sont regroupées dans une condition positive; des largeurs pour une solution de repli sont placées derrière not. Le texte avertit que ces largeurs pourraient gêner la version flexible si on les laissait traîner dans les deux branches. L’entretien sert donc à attribuer un ensemble de tâches cohérent, et non une seule propriété décorative.

Que signifie « sait faire » dans ce bureau ? Le texte de 2013 lie la réponse à l’acceptation de la déclaration plutôt qu’à son rejet comme erreur d’analyse, avec une prise en charge suffisamment utilisable. La recommandation candidate de janvier 2022 précise que l’essai porte sur la déclaration dans une règle de style. Elle rappelle qu’ignorer les propriétés inconnues ne suffit pas toujours quand toute une composition dépend d’une nouveauté. La condition tient ensemble les règles qui doivent avancer ensemble.

La définition laisse une place importante à la réalité du lecteur. Le document donne l’exemple d’une préférence de contraste élevé qui remplace la couleur visible : le moteur peut toujours prendre en charge la propriété color. Son « oui » à l’entretien indique une capacité définie, tandis que l’apparence finale dépend aussi des préférences, de la cascade et du reste de la page. La candidate peut connaître le métier; encore faut-il lui donner un plan de travail convenable.

La solution de repli mérite donc une vraie maquette. Les règles sous @supports not (...) doivent conserver un ordre de lecture et des dimensions raisonnables. Les règles de la branche positive demandent elles aussi une vérification dans la page complète. Un test de capacité choisit un groupe de styles; il ne juge ni le rythme des titres ni la place du menu. Ces décisions appartiennent à la rédaction et à ses essais sur le document réel.

Lors d’un cours W3C donné par Bert Bos au WWW2013, la question était posée devant le public. La page de démonstration cachait d’abord six messages, puis affichait ceux dont les conditions @supports correspondaient au navigateur : affirmation, négation et combinaison par or. Parmi les essais figurait display: flex. Un exercice modeste, mais assez concret pour voir la décision se produire sur une vraie page, avant de confier à l’auteur le travail plus difficile de composer un article.

Les quatre publications marquent des étapes distinctes : premier projet public en 2011, autre projet en 2012, recommandation candidate en 2013, nouvelle photographie de recommandation candidate en 2022. Leur calendrier décrit l’évolution du texte W3C. Ce qui dure est la répartition des rôles : la feuille de style pose une question précise au moteur, puis l’auteur assume la qualité de chaque réponse visuelle. CSS a organisé l’entretien. Il faut encore bien aménager le poste.