Page Shadow - Guide de la syntaxe des filtres

Cette documentation n'est applicable qu'à la version 2.8 de Page Shadow

Les règles de filtre permettent de corriger l'affichage des sites web lorsque les fonctions Augmenter le contraste et/ou Inverser les couleurs sont activées. Les corrections peuvent porter sur la désactivation de la modification du style d'un élément (couleur d'arrière-plan, couleur des textes ou des liens, inversion de la couleur) ou le fait de forcer un style sur un élément. Ces règles permettent par exemple de corriger l'affichage de certains éléments qui n'apparaissent pas. Il vous est possible d'écrire vos propres règles de filtre. Si vous avez de connaissances en HTML/CSS, c'est assez simple. Dans un fichier de filtre, une seule règle par ligne est possible.

Syntaxe

La syntaxe d'un filtre est de la forme suivante : siteOuPageWeb[1]|regle[2]|selecteurCss[3]

Chaque partie du filtre est divisée par un caractère | (barre verticale).

[1] siteOuPageWeb

La première partie de la règle (siteOuPageWeb) indique le site web/la page web sur laquelle le filtre doit être appliqué. Cette partie peut être de la forme suivante :

  • Un domaine : par exemple eliastiksofts.com ou www.eliastiksofts.com (ces deux domaines sont traités séparément)
  • Une page web : par exemple https://www.eliastiksofts.com/fr/page-shadow/filters/guide/index.php
  • Une règle avec jokers (peut matcher un domaine ou une page web) : par exemple *eliastiksofts.com/en/* matche toutes les pages du site Eliastik's Softs en version anglaise
  • Une expression régulière (peut matcher un domaine ou une page web) : par exemple /(.*)google.(.*)recaptcha(.*)/ matche les Google ReCaptcha

[2] regle

Cette partie du filtre correspond à la règle en elle-même. Il existe plusieurs règles différentes qui sont reconnues par l'extension :

  • disableContrastFor : désactive complètement la fonction Augmenter le contraste pour un ou plusieurs éléments
  • forceTransparentBackground : force un arrière-plan transparent pour un ou plusieurs éléments
  • disableBackgroundStylingFor : désactive la coloration de l'arrière-plan par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableTextColorStylingFor : désactive la coloration des textes par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableInputBorderStylingFor : désactive la coloration de la bordure des champs de formulaire par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableLinkStylingFor : désactive la coloration des liens par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableFontFamilyStylingFor : désactive la modification de la police de caractères (thèmes personnalisés) par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableElementInvertFor : désactive l'inversion des couleurs par la fonction Inverser les couleurs pour un ou plusieurs éléments
  • hasBackgroundImg : indique à Page Shadow qu'un ou plusieurs éléments ont une image d'arrière-plan
  • forceCustomLinkColorFor : force la modification de la couleur des liens par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • forceCustomBackgroundColorFor : force la modification de la couleur d'arrière-plan par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • forceCustomTextColorFor : force la modification de la couleur des textes par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • disableShadowRootsCustomStyle : force la désactivation des styles des Shadow Roots par la fonction Augmenter le contraste pour un ou plusieurs éléments
  • enablePerformanceMode : active le mode performance pour le site ou la page web. Cette règle ne nécessite pas de sélecteur CSS.
  • disablePerformanceMode : désactive le mode performance pour le site ou la page web. Règle destinée à être combinée avec la règle enablePerformanceMode pour activer par exemple le mode performance pour le site web globalement et pour le désactiver pour quelques pages.

Il est possible d'indiquer plusieurs règles en les séparant par une virugle. Le nom des règles est sensible à la casse.

[3] selecteurCss

Cette partie du filtre contient le sélecteur CSS correspondant aux éléments sur lesquels appliquer le filtre. Il est possible de spécifier plusieurs sélecteurs en les séparant par une virgule. Si le sélecteur n'est pas valide, la règle sera ignorée. Le sélecteur CSS est traité par la fonction document.querySelectorAll au sein du code de l'extension. Pour la liste complète des sélecteurs CSS disponibles, rendez-vous sur la documentation MDN.

Exemple de règle

Ce filtre est utilisé pour corriger l'affichage des Google ReCaptcha lorsque la fonction Augmenter le contraste est activé. Elle désactive la fonction pour certains éléments qui étaient cachés.

/(.*)google.(.*)recaptcha(.*)/|disableContrastFor|.rc-imageselect-checkbox,.rc-imageselect-checkbox *,.rc-button-default,.rc-button-default *,.rc-imageselect-candidates,.rc-imageselect-candidates *,.rc-imageselect-desc,.rc-imageselect-desc *

Créer un fichier complet de règles de filtre

Il est possible de créer un fichier complet de filtre. Pour cela, il est nécessaire que le fichier commence avec le code suivant qui contient les méta-données du fichier de filtre :

#! Page Shadow Filter 1.0
#! Name: Titre du filtre
#! Homepage: https://www.pagedaccueildufiltre.com
#! Sourcename: Nom de la source du site (nom du site web ou autre)
#! Version: Version du filtre
#! License: Licence
#! Expires: Nombre de jours correspondant à l'expiration du cache du filtre du côté de l'utilisateur, suivi d'une mise à jour automatique
#! Description: Description du filtre

Il faut ensuite écrire une règle de filtre par ligne.

Problèmes connus

  • Un bug a été identifié avec les expressions régulières : si un caractère / est utilisé dans l'expression régulière, la règle de filtre n'est pas prise en compte. Ce bug a été corrigé dans la branche de développement de l'extension, et le correctif sera disponible dans la prochaine version de l'extension. Il est possible de contourner le bug en utilisant les caracètres joker sans utiliser les expressions régulières.