Lab 14: Progressive Enhancement
Overview
Step 1: Progressive Enhancement vs Graceful Degradation
Progressive Enhancement (PE):
─────────────────────────────────────
Start: Basic functionality works everywhere
Then: Enhance for capable browsers
Philosophy: "Works for all, better for modern"
Graceful Degradation (GD):
─────────────────────────────────────
Start: Build for modern browsers
Then: Add fallbacks for older browsers
Philosophy: "Best for modern, acceptable for old"
The difference in practice:
PE: Start with <form>, enhance with JS validation
GD: Build JS validation, fall back to server-side
Modern recommendation: Progressive Enhancement
— Users on slow connections get core functionality
— Screen reader users get accessible baseline
— Future browsers don't break unexpectedlyStep 2: @supports Feature Detection
Step 3: @supports selector()
Step 4: CSS Fallback Value Stacks
Step 5: Baseline 2024 Features
Step 6: JavaScript Module/NoModule Pattern
Step 7: Polyfill Strategies
Step 8: Capstone — @supports Compatibility Checker
Summary
Technique
Syntax
Purpose
Last updated
