A

TermDefinition
ARIAAccessible Rich Internet Applications, a set of roles and attributes describing UI semantics to assistive technology. The first rule of ARIA is not to use it: a native element carries the semantics already and carries the keyboard behaviour too.
AccessibilityBuilding interfaces usable by people with disabilities, covering keyboard operation, screen reader semantics, contrast and motion. Cheap when designed in and expensive when retrofitted, which is the whole argument for doing it early.
Alt TextThe text alternative on an image, read aloud when the image cannot be seen. Decorative images take an empty alt attribute, not a missing one, so screen readers skip them instead of announcing a filename.
Arrow FunctionA compact JavaScript function expression that inherits this from its enclosing scope. That inherited this is the reason arrow functions work as callbacks where ordinary functions need binding.
Async / AwaitSyntax for writing promise-based code in a sequential style. await only pauses the surrounding async function, not the page, and errors need a try/catch or they become unhandled rejections.
AttributeA name-value pair on an HTML element in the markup. Distinct from a DOM property: changing value as a property does not change the valueattribute in the source.

B

TermDefinition
BEMBlock Element Modifier, a CSS naming convention writing classes as block__element–modifier. Keeps specificity flat and makes the relationship between markup and styles readable without tooling.
BabelA JavaScript compiler that rewrites modern syntax into a form older browsers understand. Less necessary than it was, since browser support now moves quickly.
Box ModelThe rule that every element is a content box wrapped in padding, border and margin. box-sizing: border-box makes width include padding and border, which is why nearly every stylesheet sets it globally.
BreakpointThe viewport width at which a layout changes. Choose them where the design breaks, not at device names, which date immediately.
BubblingThe phase in which a DOM event travels from the target up through its ancestors. What makes event delegation possible.
BundlerA tool that resolves imports and produces optimised output files, such as Vite, webpack or Rollup.

C

TermDefinition
CDNContent Delivery Network, geographically distributed servers caching assets near users. Cuts latency for static files, and does nothing for a slow origin response on dynamic pages.
CLSCumulative Layout Shift, the Core Web Vital measuring unexpected movement of visible content. Usually caused by images without dimensions, injected banners, or late-loading fonts.
CORSCross-Origin Resource Sharing, the browser mechanism controlling which origins may read a response. The error appears in the browser and the fix is always on the server, which is why it confuses people for so long.
CSSCascading Style Sheets, the language describing presentation.
CSS GridA two-dimensional layout system for laying out rows and columns together. The correct tool for page-level structure, where flexbox is the tool for a single axis.
CSS VariableA custom property such as –brand-colour, resolved at runtime and inheriting through the cascade. Unlike a preprocessor variable it can be changed live by media queries, themes or JavaScript.
CacheStored copies of responses reused instead of refetching. Cache-busting through file hashes is what lets assets be cached aggressively and still update on deploy.
CallbackA function passed to be called later. Nesting them deeply is what promises and async/await exist to avoid.
CascadeThe rules deciding which declaration wins when several apply, weighing origin, layer, specificity and source order. Understanding it removes most of the temptation to reach for !important.
Client-Side RenderingSending a near-empty HTML document and building the page in the browser with JavaScript. Fast for subsequent navigation, slow for the first view, and dependent on JavaScript succeeding.
ClosureA function that retains access to the variables of the scope it was defined in, after that scope has returned. The mechanism behind private state, and the cause of stale-value bugs in loops and effects.
Code SplittingBreaking a bundle so only the code needed for the current view is loaded. The most reliable single fix for a heavy JavaScript payload.
ComponentA self-contained, reusable unit of markup, style and behaviour. The organising idea of every modern framework.
Container QueryA query that responds to the size of an element’s container rather than the viewport. What media queries should have been for component-level design, and now widely supported.
Content Security PolicyAn HTTP header restricting which sources of script, style and other resources the browser will execute. The strongest mitigation for cross-site scripting, and it breaks inline scripts, which is usually the point.
Critical CSSThe minimal styles needed to render what is visible first, inlined so the page can paint before the full stylesheet arrives.
Custom ElementA developer-defined HTML element registered with the browser, part of the Web Components set.

D

TermDefinition
DOMDocument Object Model, the browser’s live tree representation of the document, which scripts read and modify. The DOM is not the HTML source: it is what the source became after parsing and scripting.
DebouncingDelaying a function until activity has stopped for a set interval. The right tool for search-as-you-type; throttling is the tool for scroll.
DeclarationA single CSS property and value pair.
DestructuringSyntax for unpacking values from arrays or objects into variables.
DevToolsThe browser’s built-in inspection suite for DOM, styles, network, performance and console. Learning the performance and network panels properly is worth more than any front-end library.
DisplayThe CSS property setting an element’s outer and inner layout behaviour, such as block, inline, flex or grid.
DoctypeThe declaration at the top of an HTML document that keeps the browser in standards mode. Omitting it triggers quirks mode and a cascade of layout surprises.

E

TermDefinition
ECMAScriptThe standard JavaScript implements, revised annually.
ES ModuleThe standard JavaScript module format using import and export, supported natively by browsers.
EventA signal the browser dispatches when something happens, such as a click, input or load.
Event DelegationAttaching one listener to a common ancestor and identifying the target when the event bubbles up. Handles dynamically added elements without rebinding and keeps listener counts small.
Event LoopThe mechanism cycling between the call stack, the microtask queue and the task queue. It explains why a long synchronous function freezes the interface and why promise callbacks run before timeouts.
Event ListenerA function registered to run when a given event fires on an element. Remove listeners when components unmount, or they hold references and leak memory.

F

TermDefinition
FCPFirst Contentful Paint, the moment the browser first renders any content.
FOUCFlash of Unstyled Content, the brief appearance of unstyled markup before CSS applies. Usually caused by stylesheets loaded late or by client-side theming applied after paint.
Fetch APIThe promise-based browser interface for HTTP requests. It does not reject on 4xx or 5xx responses, so check response.ok explicitly.
FlexboxA one-dimensional layout system distributing space along a single axis. Right for toolbars, cards and anything in a row or column; grid is right for two-dimensional structure.
FocusThe element currently receiving keyboard input. Never remove focus outlines without replacing them, since that makes keyboard navigation impossible to follow.
Font DisplayThe CSS descriptor controlling what the browser shows while a web font loads. swap avoids invisible text at the cost of a visible font change.
FrameworkA structured system such as React, Vue or Svelte that provides the architecture your code fits into, rather than a library you call.

G

TermDefinition
Graceful DegradationBuilding the full experience, then ensuring it remains usable where features are missing. The inverse of progressive enhancement, which starts from the baseline instead.

H

TermDefinition
HTMLHyperText Markup Language, the structure and semantics of a document.
HTTPThe protocol carrying web requests and responses. Status codes, caching headers and compression are front-end concerns as much as back-end ones.
Higher-Order FunctionA function that takes or returns another function, such as map, filter or reduce.
HoistingJavaScript’s behaviour of processing declarations before execution, so varand function declarations exist before their line. let and const are hoisted too, but unusable until initialised, which is the temporal dead zone.
HookIn React, a function such as useState or useEffect giving a function component state and lifecycle behaviour. Only callable at the top level of a component, which is what the rules of hooks enforce.
HydrationAttaching JavaScript behaviour to server-rendered HTML in the browser. The page looks ready before it is interactive, which is exactly the gap Interaction to Next Paint measures.

I

TermDefinition
INPInteraction to Next Paint, the Core Web Vital measuring responsiveness to user input across the visit. It replaced First Input Delay and is far harder to pass, because it counts every interaction, not just the first.
IframeAn embedded nested browsing context. Isolated from the parent by origin rules, which is both its security value and its integration difficulty.
ImmutabilityTreating values as unchangeable and producing new ones instead of mutating. What lets frameworks detect change by reference comparison rather than deep inspection.
InheritanceIn CSS, the passing of certain property values from parent to child, such as colour and font. Layout properties do not inherit, which is why every element needs its own box rules.
Intersection ObserverA browser API reporting when an element enters or leaves the viewport. The efficient way to implement lazy loading and scroll-triggered behaviour without scroll listeners.

J

TermDefinition
JSONJavaScript Object Notation, the standard data interchange format. It is a text format, not JavaScript: no comments, no trailing commas, and keys must be double-quoted.
JSXThe XML-like syntax used in React, compiled to function calls. It is not HTML, which is why attributes are className and htmlFor.
JavaScriptThe browser’s programming language, single-threaded with an event loop, dynamically typed and prototype-based.

K

TermDefinition
KeyThe stable identifier given to items in a rendered list so a framework can match elements across renders. Using an array index as a key causes state to attach to the wrong item as soon as the list reorders.
KeyframesThe CSS at-rule defining the stages of an animation.

L

TermDefinition
LCPLargest Contentful Paint, the Core Web Vital measuring when the main content appears. Usually a hero image or heading, and usually fixed by preloading that resource and cutting what blocks it.
Lazy LoadingDeferring the loading of resources until they are needed, most simply through loading=”lazy” on images below the fold. Applying it to the hero image makes LCP worse, which is a common own goal.
LighthouseThe auditing tool that scores performance, accessibility, best practice and SEO in a lab environment. Lab scores are a diagnostic; field data from real users is the truth.
LintingStatic analysis flagging errors and style violations, usually ESLint with Stylelint. Cheapest possible defect prevention when it runs in CI rather than only locally.
Local StorageSynchronous key-value browser storage that persists across sessions. Synchronous access blocks the main thread, and everything stored is readable by any script on the origin, so no secrets.
Logical PropertiesCSS properties expressed in flow-relative terms such as margin-inline-startrather than margin-left. They keep layouts correct when the writing direction changes.

M

TermDefinition
Media QueryA CSS rule applying styles conditionally on viewport, device or user preference, including prefers-reduced-motion and prefers-color-scheme.
MemoisationCaching a computation so repeated calls with the same input are free. In frameworks, applied through useMemo and equivalents, and easy to over-apply until the bookkeeping costs more than the work saved.
MinificationRemoving whitespace, comments and long names from output files to reduce transfer size.
Mobile FirstWriting base styles for small screens and layering larger layouts through min-width queries. Produces simpler CSS, because adding capability is easier than removing it.
ModuleA file with its own scope that explicitly exports and imports what it shares.

N

TermDefinition
Node.jsA JavaScript runtime outside the browser, used for tooling, build steps and servers.
NestingWriting rules inside other rules, long available in Sass and now native CSS. Nest shallowly: deep nesting produces long, brittle, high-specificity selectors.
npmThe Node package registry and its command line client.

O

TermDefinition
Optimistic UIUpdating the interface immediately as though an action succeeded, then reconciling when the server responds. Feels much faster, and requires a real plan for the failure case.
Optional ChainingThe ?. operator, returning undefined rather than throwing when an intermediate value is null or undefined.
OverflowThe CSS property controlling what happens when content exceeds its box. Wide content such as tables and code blocks should scroll inside its own container so the page body never scrolls sideways.

P

TermDefinition
PWAProgressive Web App, a site using a service worker and manifest to be installable and work offline.
Package ManagerThe tool resolving and installing dependencies, such as npm, pnpm or yarn. Commit the lockfile, or builds are not reproducible.
PolyfillCode providing a missing browser feature so newer syntax or APIs work in older environments.
PositionThe CSS property setting how an element is placed: static, relative, absolute, fixed or sticky. Sticky needs a threshold such as top and an ancestor that does not clip overflow, which is why it silently fails so often.
PreloadA resource hint telling the browser to fetch something needed soon at high priority. Overusing it removes the benefit, since everything cannot be highest priority.
Progressive EnhancementStarting from working HTML and layering CSS and JavaScript on top. Yields a page that still functions when the enhancement layer fails.
PromiseAn object representing a future value, settling as fulfilled or rejected.
PropData passed from a parent component into a child. Read-only inside the child, which is what makes data flow traceable.
Pseudo-classA selector for a state, such as :hover, :focus-visible or :nth-child(). :focus-visible is the one to style, since it appears for keyboard users without adding rings on mouse clicks.
Pseudo-elementA selector for a generated or sub part of an element, such as ::before or ::placeholder. Content added this way is decorative and unreliable for screen readers.
Pure FunctionA function whose output depends only on its input and which causes no side effects. Trivially testable and safely cacheable.

Q

TermDefinition
Query SelectorThe DOM method retrieving elements by CSS selector, querySelector for the first match and querySelectorAll for a static list of all matches.

R

TermDefinition
RESTAn HTTP API style organised around resources and standard verbs.
ReactA component-based UI library using a virtual DOM and one-way data flow.
ReconciliationThe process of comparing a new render against the previous one and applying only the differences to the DOM.
ReflowRecalculation of layout geometry after a change, followed by repaint. Reading a layout property immediately after writing one forces a synchronous reflow, and doing that in a loop is the classic cause of jank.
Rem and EmFont-relative CSS units, rem against the root font size and em against the element’s own. Use rem for consistent spacing, since nested em values compound.
Responsive DesignBuilding one layout that adapts across viewport sizes, through fluid units, flexible grids and media or container queries.
RoutingMapping URLs to views. In a single-page application it is handled in the browser, which means history, scroll position and focus management all become your responsibility.

S

TermDefinition
SPASee Single Page Application.
SSGSee Static Site Generation.
SSRSee Server-Side Rendering.
SVGScalable Vector Graphics, an XML vector format that scales without loss and can be styled and animated with CSS when inlined.
Sass / SCSSA CSS preprocessor adding variables, nesting, mixins and functions. Less essential than it was, now that custom properties and native nesting exist.
Semantic HTMLUsing elements for their meaning rather than their appearance, such as button, nav and main. It supplies accessibility and keyboard behaviour for free, which a styled div never does.
Server-Side RenderingGenerating HTML on the server for each request. Fast first paint and good for crawlers, at the cost of server work and a hydration step.
Service WorkerA script running separately from the page, able to intercept network requests and serve cached responses. Enables offline behaviour, and a stale service worker can pin users to an old build, so plan the update path.
Session StoragePer-tab browser storage cleared when the tab closes.
Shadow DOMAn encapsulated DOM subtree whose styles and structure do not leak in or out. The isolation mechanism of web components.
Single Page ApplicationAn application that loads once and swaps views client-side without full page loads.
SpecificityThe weight of a selector, counted as ids, then classes and attributes, then elements. Keeping selectors flat, as BEM does, avoids the escalation that ends in !important.
Spread OperatorThe … syntax expanding an iterable or object into another. Copies are shallow, so nested objects remain shared references.
StateData that changes over time and drives what is rendered. Most front-end complexity is state that lives in more places than it should.
Static Site GenerationBuilding HTML at deploy time rather than per request. The fastest and cheapest option for content that does not change per user.

T

TermDefinition
TTFBTime To First Byte, the delay before the first byte of the response arrives. A server and network measure, and the ceiling every paint metric sits under.
Template LiteralA backtick string supporting interpolation and line breaks. Interpolating user input into HTML this way is a direct route to cross-site scripting.
TernaryThe condition ? a : b conditional expression. Readable when short, and unreadable when nested.
ThrottlingLimiting a function to run at most once per interval. Right for scroll and resize handlers; debouncing is right for typing.
TransformThe CSS property translating, scaling or rotating an element. Animate transform and opacity rather than layout properties, since only these two can be handled by the compositor without reflow.
TransitionCSS interpolation between two states over a duration. Always respect prefers-reduced-motion.
TranspilerA tool converting source in one language or syntax level into another, such as TypeScript to JavaScript.
Tree ShakingRemoving exported code that is never imported. Only works with static ES module imports, which is why dynamic requires defeat it.
TypeScriptJavaScript with static types, checked at build time and erased at runtime. Types do not validate data arriving at runtime, so API responses still need checking.

U

TermDefinition
Utility ClassA single-purpose class such as .mt-4, the basis of frameworks like Tailwind. Fast to compose and it moves design decisions into markup, which is the trade people argue about.

V

TermDefinition
Vanilla JavaScriptJavaScript with no framework or library.
Vendor PrefixA browser-specific property prefix such as -webkit-. Largely historical, and old prefixed code left in a stylesheet now causes more confusion than compatibility.
ViewportThe visible area of the page. The meta viewport tag is required for responsive behaviour on mobile, and disabling zoom in it is an accessibility failure.
Virtual DOMAn in-memory representation of the UI, diffed against the previous version to compute the minimal set of real DOM updates.
ViteA build tool serving native ES modules in development for near-instant startup and bundling for production.

W

TermDefinition
WCAGWeb Content Accessibility Guidelines, the standard accessibility criteria, commonly targeted at level AA.
Web ComponentA reusable custom element built on custom elements, shadow DOM and templates, usable in any framework or none.
Web VitalsGoogle’s user-centred performance metrics: LCP for loading, INP for responsiveness and CLS for visual stability.
WebSocketA persistent two-way connection between browser and server, for live updates without polling.
WebpackA long-established bundler with a large plugin ecosystem, increasingly replaced by Vite for new projects.

X

TermDefinition
XHRXMLHttpRequest, the original browser API for HTTP requests, superseded by fetch.
XSSCross-Site Scripting, injecting script into a page that other users load. Prevented by escaping output, avoiding innerHTML with untrusted data, and a strict Content Security Policy.

Z

TermDefinition
z-indexThe CSS property setting stacking order among positioned elements. It only compares within a stacking context, which is why a high value sometimes still sits behind something with a lower one.
View Comments (1)

Leave a Reply

Subscribe to My Newsletter

Subscribe to my email newsletter to get the latest posts delivered right to your email. Pure inspiration, zero spam.

Discover more from Discuss Data Science, Machine Learning and Analytics

Subscribe now to keep reading and get access to the full archive.

Continue reading