2 Answers
2

A polyfill is a browser fallback, made in javascript, that allows functionality you expect to work in modern browsers to work in older browsers. Ie to support canvas (an html5 feature) in older browsers.

It's sort of an HTML5 technique, since it is used in conjunction with HTML5, but it's not part of HTML5, and you can have polyfills without having HTML5 (for example, to support CSS3 techniques you want).

remysharp.com/2010/10/08/what-is-a-polyfill this link is more than a just a "good post" it's actually the full definition & origin of the word by the person who coined the word. Excerpt: "the product Polyfilla (spackling in the US) is a paste that can be put in to walls to cover cracks and holes." The post also covers the concept that shim predates and is different than polyfill. It's a must read, IMO.
–
aaron-codingJan 2 at 7:10

First off let's clarify what a polyfil is not: A polyfill is not part of the HTML5 Standard. Nor is a polyfill limited to Javascript, even though you often see polyfills being referred to in those contexts.

The term polyfill itself refers to some code that "allows you to have some specific functionality that you expect in current or “modern” browsers to also work in other browsers that do not have the support for that functionality built in. "