Junior Web Developer study materials
Junior Web Developer study resources

Junior Web Developer key terms

Junior Web Developer · Get comfortable with the vocabulary.

Semantic element

An HTML tag whose name describes the meaning or role of its content, such as nav, main, article, or footer, rather than only its appearance. It helps browsers, assistive technology, and search engines interpret page structure.

Related: Landmark region, Document outline
Document outline

The hierarchy of headings and sectioning elements that describes a page's content structure. A logical outline lets screen reader users and search engines navigate and understand the page without relying on visual styling.

Related: Semantic element, Heading hierarchy
Heading hierarchy

The ordered use of h1 through h6 so that heading levels descend without skipping, reflecting nested content. Correct hierarchy gives assistive technology users a navigable table of contents and improves search engine interpretation.

Related: Document outline, Semantic element
Void element

An HTML element that cannot contain child content or a closing tag, such as img, br, input, or meta. Its content, if any, comes from attributes like src or alt.

Related: Attribute, Semantic element
Attribute

A name-value pair written inside an element's opening tag that configures the element, such as href on a link or src on an image. Boolean attributes are present or absent rather than assigned a value.

Related: Void element, Data attribute
Data attribute

A custom attribute prefixed with data- that stores extra information on an element for scripts or styling. It is exposed through the dataset property in JavaScript and must not be used to convey essential content.

Related: Attribute, DOM node
Box model

The layout rule that treats every element as a content box surrounded by padding, border, and margin. Width calculations depend on box-sizing, which determines whether padding and border are included in a declared width.

Related: box-sizing, Flexbox
box-sizing

A CSS property that controls whether an element's declared width includes padding and border. Setting border-box makes sizing predictable because padding and borders are drawn inside the specified width.

Related: Box model, Media query
Flexbox

A one-dimensional CSS layout model that distributes space and aligns items along a main axis and cross axis. Properties such as justify-content, align-items, and flex-grow control how children size and position.

Related: CSS Grid, Box model
CSS Grid

A two-dimensional CSS layout system that places items into rows and columns defined with grid-template properties. It suits whole-page layouts where alignment in both directions matters.

Related: Flexbox, Media query
Media query

A CSS rule that applies styles only when conditions about the viewport, such as width or orientation, are met. It is the main tool for responsive layouts and for honoring user preferences like reduced motion.

Related: Mobile-first design, Responsive image
Mobile-first design

A strategy that writes base styles for small screens and adds enhancements at larger widths using min-width media queries. It keeps the smallest payload and simplest layout as the baseline.

Related: Media query, Responsive image
Responsive image

An image delivered at an appropriate resolution or crop for the user's device using srcset, sizes, or the picture element. It reduces wasted bandwidth and avoids blurry or oversized images.

Related: Media query, Mobile-first design
Hoisting

JavaScript's behavior of making function declarations and var bindings available before their line executes. Function declarations are fully hoisted; var is initialized as undefined, while let and const stay in a temporal dead zone.

Related: Temporal dead zone, Closure
Temporal dead zone

The period between entering a scope and the declaration of a let or const variable, during which accessing it throws a ReferenceError. It makes block-scoped variables unusable before their declaration line.

Related: Hoisting, Closure
Closure

A function that retains access to variables from the scope where it was created, even after that scope has finished executing. Closures power callbacks, module patterns, and private state.

Related: Scope, Hoisting
Scope

The region of code where a variable is visible and usable. JavaScript has global, function, and block scope, and lexical scoping determines visibility from where code is written rather than where it runs.

Related: Closure, Temporal dead zone
Prototype chain

The linked series of objects JavaScript consults when a property is not found on an object itself. It implements inheritance, and the chain ends at Object.prototype with a null prototype.

Related: this binding, Event loop
this binding

The value the this keyword refers to in a given function call, determined by how the function is invoked. Arrow functions do not define their own this and inherit it from the enclosing scope.

Related: Prototype chain, Closure
Event loop

The mechanism that runs JavaScript's call stack and moves queued callbacks onto it when the stack is empty. It explains why timers and network responses run after current synchronous code completes.

Related: Promise, Microtask
Microtask

A short callback queued on the microtask queue, such as a promise reaction, that runs before the next macrotask. Microtasks drain completely after each task, which affects execution order.

Related: Event loop, Promise
Promise

An object representing the eventual result of an asynchronous operation, settling once as fulfilled or rejected. It supports chaining with then and catch, and awaiting it inside async functions.

Related: Event loop, Microtask
DOM node

An object in the document tree representing an element, text, comment, or the document itself. Nodes expose properties and methods for reading and changing page structure and content.

Related: Event delegation, Data attribute
Event delegation

A technique that attaches one listener to a common ancestor and uses event bubbling to handle events from many descendants. It reduces listener count and works for elements added later.

Related: Event bubbling, DOM node
Event bubbling

The default propagation phase in which an event travels from its target up through ancestor elements. Listeners on ancestors can observe it unless propagation is stopped.

Related: Event delegation, preventDefault
preventDefault

A method on the event object that cancels the browser's default action, such as following a link or submitting a form. It does not stop the event from bubbling to ancestors.

Related: Event bubbling, Form validation
Accessible name

The text assistive technology announces for a control, computed from sources like visible text, labels, aria-label, or aria-labelledby. Every interactive element needs a meaningful accessible name.

Related: ARIA attribute, Label element
ARIA attribute

An attribute from the Accessible Rich Internet Applications specification that adds roles, states, or properties to markup. Native semantic elements are preferred, and ARIA must never contradict real behavior.

Related: Accessible name, Landmark region
Landmark region

A page area exposed to assistive technology as a navigable region, produced by elements like header, nav, main, and footer or by equivalent ARIA roles. Landmarks let users jump between page sections.

Related: Semantic element, ARIA attribute
Label element

An HTML element that associates descriptive text with a form control through for and id or by wrapping the control. Clicking the label focuses or activates the control, and screen readers announce the text.

Related: Accessible name, Form validation
Form validation

The process of checking user input before accepting it, using HTML constraint attributes, JavaScript logic, or server-side checks. Client validation improves feedback, but servers must always validate again.

Related: Label element, preventDefault
HTTP status code

A three-digit number in a response indicating the outcome of a request, grouped into classes like 2xx success, 3xx redirect, 4xx client error, and 5xx server error. It guides client and caching behavior.

Related: HTTP method, CORS
HTTP method

A verb in a request describing the intended action, such as GET to retrieve, POST to create, PUT to replace, PATCH to modify, or DELETE to remove. Methods carry defined safety and idempotency expectations.

Related: HTTP status code, CORS
CORS

A browser security mechanism that blocks cross-origin responses unless the server sends matching Access-Control-Allow-Origin headers. Preflight requests check whether a cross-origin call is permitted.

Related: Same-origin policy, HTTP method
Same-origin policy

A browser rule restricting scripts from reading resources from a different scheme, host, or port than the page. It limits data theft and is relaxed deliberately through CORS or postMessage.

Related: CORS, Cross-site scripting
Git commit

A snapshot of the project's tracked changes recorded with a message, author, timestamp, and a hash identifying it. Commits form a history that branches and merges build on.

Related: Merge conflict, Pull request
Merge conflict

A state where Git cannot automatically combine changes because two branches edited the same lines. The developer resolves markers manually, then stages and commits the result.

Related: Git commit, Pull request
Pull request

A hosted-repository proposal to merge a branch into another, enabling review, discussion, and automated checks before integration. It is a workflow convention, not a core Git command.

Related: Git commit, Merge conflict
Cross-site scripting

An attack that injects malicious script into pages viewed by other users, often through unsanitized input. Defenses include output encoding, safe DOM APIs, and a strict Content Security Policy.

Related: Content Security Policy, Same-origin policy
Content Security Policy

An HTTP response header that restricts which sources may load scripts, styles, images, and other resources, and whether inline code may run. It reduces the impact of injected scripts.

Related: Cross-site scripting, CSRF token
CSRF token

A unique, unpredictable value embedded in a form or request and verified server-side to prove the request came from the site's own pages. It blocks forged cross-site state-changing requests.

Related: Same-origin policy, Cross-site scripting
Unit test

An automated test that exercises one small piece of code, such as a function, in isolation with controlled inputs and asserted outputs. It runs fast and pinpoints failures precisely.

Related: Assertion, Debugger breakpoint
Assertion

A statement in a test declaring an expected result, which fails the test when the actual value differs. Clear assertions make failures self-explanatory.

Related: Unit test, Regression test
Regression test

A test written to confirm that a previously fixed bug stays fixed or that existing behavior survives a change. Regression suites protect against reintroducing known defects.

Related: Unit test, Assertion
Debugger breakpoint

A marker set in developer tools or source code that pauses execution at a chosen line so state can be inspected. Stepping and watch expressions then reveal how values change.

Related: Unit test, Assertion