A photo, chart, or recording can explain an idea faster than a paragraph, but only if people can actually use it.
What You Need to Know
Canvas provides a drawing area, not meaningful page content by itself. JavaScript paints pixels into it. Important diagrams and interactive controls still need accessible text or a usable alternative.
In this example: draw a rectangle and provide fallback text.
Try the Example
Take a look at the example. We’ll explain the important lines right below it.
<canvas id="drawing" width="500" height="250">A blue rectangle appears here.</canvas>
<script>
const drawingCanvas = document.querySelector("#drawing");
const drawingContext = drawingCanvas.getContext("2d");
drawingContext.fillStyle = "blue";
drawingContext.fillRect(30, 30, 160, 90);
</script>
Let’s Read the Code
- <canvas>: A canvas is a drawing surface. JavaScript produces the drawing.
- <script>: Script contains JavaScript, data, or other browser-understood script formats depending on type.
- id: An id uniquely identifies an element on this page.
- width: Width gives a preferred or intrinsic media width, depending on the element.
Read the named elements and attributes together. They explain how the browser connects this feature to the rest of the page.
What Happens in the Browser?
The paths shown here refer to files in your own example project. Put real images and recordings in those locations before expecting them to load.
What if the resource is missing? Test the page with the media path temporarily broken. The surrounding text should still explain the important idea, and controls should remain understandable. This is especially important for slow connections and accessibility.
Your Turn
Try changing one file path or attribute. Notice whether the browser falls back to another source or shows missing content.
Common Beginner Mistakes
- Leaving out real media files or understandable text alternatives.
- Always check keyboard access, readable alternatives, and any missing files; a perfect player layout does not guarantee accessible content.
Key Takeaways
- Canvas provides a drawing area, not meaningful page content by itself.
- <canvas>: A canvas is a drawing surface. JavaScript produces the drawing.
- If the resource cannot load, users still need enough text to understand what was meant to be there.