Baseline Widely available
On utilise l'élément HTML <canvas>
avec l'API canvas, ou l'API WebGL pour dessiner des graphiques et des animations.
Comme les autres éléments HTML, cet élément possède les attributs globaux.
height
La hauteur de l'espace pour l'élément, exprimée en pixels CSS. La valeur par défaut est 150.
moz-opaque
Non standard Obsolète
Cet attribut permet d'indiquer s'il y aura de la transparence ou non. Si le canevas sait qu'il n'y aura pas de transparence, les performances de rendu pourront être améliorées. Cet attribut est uniquement pris en charge par les navigateurs Mozilla, il est préférable d'utiliser la méthode standard canvas.getContext('2d', { alpha: false})
à la place.
width
La largeur de l'espace pour l'élément, exprimée en pixels CSS. La valeur par défaut est 300.
Il est fortement recommandé de fournir un contenu alternatif au contenu du bloc <canvas>
. Ce contenu pourra être utilisé par les navigateurs plus anciens qui ne supportent pas l'élément <canvas>
et ceux pour lesquels JavaScript est désactivé. Fournir un texte de repli ou un sous-DOM utile aide à rendre le canevas plus accessible.
</canvas>
obligatoire
à la différence de <img>
, l'élément <canvas>
doit être fermé avec la balise fermante </canvas>
.
On peut modifier la taille affichée du canevas grâce à une feuille de style. L'image est mise à l'échelle lors du rendu pour correspondre à la taille indiquée par le style. Toutefois, cela pourra distordre l'image lors du rendu final.
Mieux vaut utiliser les attributs explicites width
et height
de l'élément en HTML (ou via du code JavaScript).
La taille maximale d'un élément <canvas>
dépend du navigateur utilisé. Voici un tableau de mesures provenant de tests et diverses sources (ex. Stack Overflow):
Note : Si on dépasse les dimensions ou l'aire maximale, le canevas deviendra inutilisable et les commandes de dessin ne fonctionneront pas.
Exemples HTMLLe fragment de code suivant ajoute un élément canvas
au document. Un texte alternatif est fourni au cas où le navigateur ne peut pas afficher ce canevas. Un texte alternatif ou bien des éléments internes permettront de rendre le canevas plus accessible.
<canvas width="300" height="100">
Désolé, votre navigateur ne prend pas en charge <canvas>.
</canvas>
JavaScript
On utilise également ce fragment de code JavaScript avec la méthode HTMLCanvasElement.getContext()
afin d'obtenir le contexte de dessin puis on dessine sur le canevas.
var canvas = document.querySelector("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "green";
ctx.fillRect(10, 10, 100, 100);
Résultat Accessibilité Contenu alternatif
Seul, l'élément <canvas>
est une image matricielle et ne fournit pas d'informations sur les objets dessinés. Le contenu d'un canevas n'est pas accessible aux outils d'assistance qui se basent sur le contenu sémantique du document HTML. De façon générale, on évitera de se servir uniquement de <canvas>
pour produire un document accessible. Voici quelques pages et articles pour aider à l'accessibilité avec les canevas :
<canvas>
<canvas>
<canvas>
dans Firefox 13, un article de Steve Faulkner (en anglais)<canvas>
interactifsRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4