- ::first-letter CSS pseudo-element selector
- ::placeholder CSS pseudo-element
- ::selection CSS pseudo-element
- :dir() CSS pseudo-class
- :has() CSS relational pseudo-class
- :in-range and :out-of-range CSS pseudo-classes
- :matches() CSS pseudo-class
- :placeholder-shown CSS pseudo-class
- @font-face Web fonts
- Blending of HTML/SVG elements
- calc() as CSS unit value
- ch (character) unit
- 2.1 selectors
- ::marker pseudo-element
- :read-only and :read-write selectors
- all property
- Animation
- Appearance
- background-attachment
- background-blend-mode
- background-position edge offsets
- background-repeat round and space
- box-decoration-break
- caret-color
- clip-path property (for HTML)
- Conical Gradients
- Containment
- Counter Styles
- Counters
- currentColor value
- Device Adaptation
- display: contents
- element() function
- Exclusions Level 1
- Feature Queries
- Filter Effects
- filter() function
- first-line pseudo-element
- Flexible Box Layout Module
- font-feature-settings
- font-rendering controls
- font-size-adjust
- font-stretch
- font-variant-alternates
- Generated content for pseudo-elements
- Gradients
- Grid Layout
- hanging-punctuation
- Hyphenation
- image-set
- Initial Letter
- initial value
- inline-block
- Logical Properties
- Masks
- min/max-width/height
- Motion Path
- namespaces
- outline properties
- overflow-anchor (Scroll Anchoring)
- page-break properties
- position:fixed
- position:sticky
- Regions
- Repeating Gradients
- resize property
- revert value
- Scroll snap points
- Shapes Level 1
- Table display
- text-indent
- text-justify
- text-orientation
- touch-action property
- unset value
- user-select: none
- Variables (Custom Properties)
- widows & orphans
- will-change property
- writing-mode property
- 2D Transforms
- 3D Transforms
- attr() function for all properties
- Background-image options
- Border images
- Border-radius (rounded corners)
- Box-shadow
- Box-sizing
- Colors
- Cursors (original values)
- Cursors: zoom-in & zoom-out
- font-kerning
- image-orientation
- Media Queries
- Multiple backgrounds
- Multiple column layout
- object-fit/object-position
- Opacity
- Overflow-wrap
- selectors
- tab-size
- text-align-last
- Text-overflow
- Text-shadow
- Transitions
- word-break
- OM Scroll-behavior
- display: flow-root
- display: run-in
- Font unicode-range subsetting
- Intrinsic & Extrinsic Sizing
- letter-spacing CSS property
- Media Queries: interaction media features
- Media Queries: resolution feature
- Rebeccapurple color
- rem (root em) units
- selector list argument of :not()
- system-ui value for font-family
- text-decoration styling
- text-emphasis styling
- TTF/OTF - TrueType and OpenType font support
- Variable fonts
- Viewport units: vw, vh, vmin, vmax
- #rrggbbaa hex color notation
- :default CSS pseudo-class
- :focus-visible CSS pseudo-class
- :focus-within CSS pseudo-class
- :indeterminate CSS pseudo-class
- :optional CSS pseudo-class
- background-position-x & background-position-y
- Case-insensitive CSS attribute selectors
- Crisp edges/pixelated images
- @apply rule
- Backdrop Filter
- Canvas Drawings
- Cross-Fade Function
- font-smooth
- line-clamp
- overscroll-behavior
- pointer-events (for HTML)
- Reflections
- scrollbar styling
- text-size-adjust
- text-stroke and text-fill
- zoom
- Explicit descendant combinator >>
- Improved kerning pairs & ligatures
- prefers-reduced-motion media query
- selector list argument of :nth-child and :nth-last-child CSS pseudo-classes
- accept attribute for file input
- Attributes for form submission
- Audio element
- Audio Tracks
- Autofocus attribute
- Canvas (basic support)
- Canvas blend modes
- classList (DOMTokenList)
- Color input type
- contenteditable attribute (basic support)
- Custom Elements v0
- Custom Elements v1
- Custom protocol handling
- Datalist element
- dataset & data-* attributes
- Date and time input types
- Details & Summary elements
- Dialog element
- disabled attribute of the fieldset element
- Download attribute
- Drag and Drop
- Email, telephone & URL input types
- Form attribute
- Form validation
- getElementsByClassName
- hidden attribute
- HTML Imports
- HTML Media Capture
- HTML templates
- HTML5 form features
- indeterminate checkbox
- input event
- input placeholder attribute
- meter element
- Minimum length attribute for input fields
- Multiple file selection
- naturalWidth & naturalHeight image properties
- New semantic elements
- Number input type
- OffscreenCanvas
- Path2D
- Pattern attribute for input fields
- Picture element
- Ping attribute
- PNG favicons
- progress element
- Range input type
- readonly attribute of input and textarea elements
- rel=noopener
- relList (DOMTokenList)
- Reversed attribute of ordered lists
- Ruby annotation
- sandbox attribute for iframes
- Search input type
- Session history management
- Spellcheck attribute
- srcdoc attribute for iframes
- Srcset and sizes attributes
- Subresource Integrity
- tabindex global attribute
- Text API for Canvas
- Video element
- Video Tracks
- wbr (word break opportunity) element
- Web App Manifest
- WebGL - 3D Canvas graphics
- WebGL 2.0
- Context menu item (menuitem element)
- Offline web applications
- Scoped CSS
- seamless attribute for iframes
- 'SameSite' cookie attribute
- ChaCha20-Poly1305 cipher suites for TLS
- Content Security Policy 1.0
- Content Security Policy Level 2
- Encrypted Media Extensions
- Link type "noreferrer"
- Public Key Pinning
- Referrer Policy
- Server Name Indication
- Strict Transport Security
- TLS 1.1
- TLS 1.2
- TLS 1.3
- Upgrade Insecure Requests
- X-Frame-Options HTTP header
- "once" event listener option
- AAC audio file format
- asm.js
- async attribute for external scripts
- autocomplete attribute: on & off values
- Brotli Accept-Encoding/Content-Encoding
- ChildNode.remove()
- Client Hints: DPR, Width, Viewport-Width
- CSS Paged Media (@page)
- Data URIs
- defer attribute for external scripts
- document.elementFromPoint()
- document.head
- document.scrollingElement
- DOM manipulation convenience methods
- DOMContentLoaded
- DOMMatrix
- Dynamic Adaptive Streaming over HTTP (MPEG-DASH)
- Element.closest()
- Element.insertAdjacentElement() & Element.insertAdjacentText()
- ES6 Generators
- EventTarget.addEventListener()
- EventTarget.dispatchEvent
- FLAC audio format
- focusin & focusout events
- getComputedStyle
- HEIF/ISO Base Media File Format
- HEVC/H.265 video format
- HTTP/2 protocol
- inputmode attribute
- JPEG 2000 image format
- JPEG XR image format
- KeyboardEvent.code
- KeyboardEvent.getModifierState()
- KeyboardEvent.key
- KeyboardEvent.location
- MathML
- Media Fragments
- MP3 audio format
- MPEG-4/H.264 video format
- Mutation events
- Node.compareDocumentPosition()
- Node.innerText
- Node.textContent
- Ogg Vorbis audio format
- Ogg/Theora video format
- Opus
- Passive event listeners
- PNG alpha transparency
- querySelector/querySelectorAll
- Resource Hints: dns-prefetch
- Resource Hints: preconnect
- Resource Hints: prefetch
- Resource Hints: preload
- Resource Hints: prerender
- SDCH Accept-Encoding/Content-Encoding
- Shadow DOM v0
- Shadow DOM v1
- WAI-ARIA Accessibility features
- Wav audio format
- WebAssembly
- WebM video format
- WebVTT - Web Video Text Tracks
- Window.devicePixelRatio
- WOFF - Web Open Font Format
- WOFF 2.0 - Web Open Font Format
- XHTML served as application/xhtml+xml
- Animated PNG (APNG)
- EOT - Embedded OpenType fonts
- HTTP Live Streaming (HLS)
- KeyboardEvent.charCode
- KeyboardEvent.which
- Resource Hints: Lazyload
- SPDY protocol
- WebP image format
- XHTML+SMIL animation
- Inline SVG in HTML5
- SVG (basic support)
- SVG effects for HTML
- SVG favicons
- SVG filters
- SVG fragment identifiers
- SVG in CSS backgrounds
- SVG in HTML img element
- SVG SMIL animation
- SVG fonts
- Ambient Light API
- Auxclick
- Base64 encoding and decoding
- Basic console logging functions
- Battery Status API
- Beacon API
- Blob constructing
- Blob URLs
- BroadcastChannel
- Channel messaging
- Clipboard API
- console.time and console.timeEnd
- Constraint Validation API
- Credential Management API
- Cross-document messaging
- Cross-Origin Resource Sharing
- crypto.getRandomValues()
- CSS Font Loading
- CSS Paint API
- CSS.supports() API
- CustomEvent
- DeviceOrientation & DeviceMotion events
- Document Object Model Range
- document.currentScript
- DOM Parsing and Serialization
- Element.getBoundingClientRect()
- Element.insertAdjacentHTML()
- Fetch
- FIDO U2F API
- File API
- FileReader API
- FileReaderSync
- Full Screen API
- Gamepad API
- Geolocation
- getUserMedia/Stream API
- Hashchange event
- High Resolution Time API
- IndexedDB
- IndexedDB 2.0
- Input Method Editor API
- Internationalization API
- IntersectionObserver
- matches() DOM method
- matchMedia
- maxlength attribute for input and textarea elements
- Media Capture from DOM Elements API
- Media Source Extensions
- MediaRecorder API
- Mutation Observer
- Navigation Timing API
- navigator.hardwareConcurrency
- Object RTC (ORTC) API for WebRTC
- Online/offline status
- Page Visibility
- PageTransitionEvent
- Payment Request API
- Pointer events
- Pointer Lock API
- Printing Events
- Proximity API
- Push API
- requestAnimationFrame
- requestIdleCallback
- Resource Timing
- Screen Orientation
- scrollIntoView
- Selection API
- Selection controls for input & textarea
- Server-sent events
- Service Workers
- Shared Web Workers
- Streams
- TextEncoder & TextDecoder
- Touch events
- unhandledrejection/rejectionhandled events
- URL API
- URLSearchParams
- User Timing API
- Vibration API
- Web Animations API
- Web Audio API
- Web Cryptography
- Web MIDI API
- Web Notifications
- Web Sockets
- Web Storage - name/value pairs
- Web Workers
- WebRTC Peer-to-peer connections
- XMLHttpRequest advanced features
- Background Sync API
- Directory selection from file input
- document.evaluate & XPath
- Document.execCommand()
- Efficient Script Yielding: setImmediate()
- Element.scrollIntoViewIfNeeded()
- Filesystem & FileWriter API
- Network Information API
- Permissions API
- Resize Observer
- Speech Recognition API
- Speech Synthesis API
- Web Bluetooth
- Web Share API
- Web SQL Database
- WebUSB
- WebVR API
- Arrow functions
- Async functions
- const
- ECMAScript 5
- ECMAScript 5 Strict Mode
- ES6 classes
- ES6 Number
- ES6 Template Literals (Template Strings)
- JavaScript modules via script tag
- JSON parsing
- let
- localeCompare()
- Object.values method
- Promises
- Proxy object
- Rest parameters
- String.prototype.includes
- Typed Arrays
- Object.observe data binding