diff --git a/files/en-us/glossary/application_context/index.md b/files/en-us/glossary/application_context/index.md index e3d72147639c29e..1156f35a3b40078 100644 --- a/files/en-us/glossary/application_context/index.md +++ b/files/en-us/glossary/application_context/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -An **application context** is a top-level [browsing context](/en-US/docs/Glossary/Browsing_context) that has a [manifest](/en-US/docs/Web/Manifest) applied to it. +An **application context** is a top-level {{glossary("browsing context")}} that has a [manifest](/en-US/docs/Web/Manifest) applied to it. If an application context is created as a result of the user agent being asked to navigate to a deep link, the user agent must immediately navigate to the deep link with replacement enabled. Otherwise, when the application context is created, the user agent must immediately navigate to the start URL with replacement enabled. diff --git a/files/en-us/glossary/argument/index.md b/files/en-us/glossary/argument/index.md index 21b84aaa9180c20..9f9556272cce809 100644 --- a/files/en-us/glossary/argument/index.md +++ b/files/en-us/glossary/argument/index.md @@ -38,7 +38,8 @@ function example(parameter) { ## See also - [Difference between parameter and argument](/en-US/docs/Glossary/Parameter#parameters_versus_arguments) -- The {{jsxref("Functions/arguments", "arguments")}} object in {{glossary("JavaScript")}} +- {{jsxref("Functions/arguments", "arguments")}} JavaScript object - Related glossary terms: - {{Glossary("Function")}} - {{Glossary("Parameter")}} + - {{glossary("JavaScript")}} diff --git a/files/en-us/glossary/aria/index.md b/files/en-us/glossary/aria/index.md index 0205f1df763aafa..1b5c13a2aade362 100644 --- a/files/en-us/glossary/aria/index.md +++ b/files/en-us/glossary/aria/index.md @@ -18,6 +18,6 @@ The specification, for example, allows you to add the attribute `role="alert"` t - [ARIA Authoring Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/) - [Accessibility](/en-US/docs/Web/Accessibility) - [Learn accessibility](/en-US/docs/Learn/Accessibility) -- [Glossary](/en-US/docs/Glossary) +- Related glossary terms - {{Glossary("Accessibility")}} - {{Glossary("WAI")}} diff --git a/files/en-us/glossary/beacon/index.md b/files/en-us/glossary/beacon/index.md index 35151e0bc795de0..6826845dd74b9a9 100644 --- a/files/en-us/glossary/beacon/index.md +++ b/files/en-us/glossary/beacon/index.md @@ -12,4 +12,5 @@ There is a [W3C Draft Beacon Specification](https://w3c.github.io/beacon/) to st ## See also -- [Real User Monitoring (RUM)](/en-US/docs/Glossary/Real_User_Monitoring) +- Related glossary terms: + - {{glossary("Real User Monitoring")}} (RUM) diff --git a/files/en-us/glossary/block-level_content/index.md b/files/en-us/glossary/block-level_content/index.md index 47b296dd37f5ea7..7cb62d56133e8a9 100644 --- a/files/en-us/glossary/block-level_content/index.md +++ b/files/en-us/glossary/block-level_content/index.md @@ -43,7 +43,8 @@ p { ## See also -- [Inline-level content](/en-US/docs/Glossary/Inline-level_content) +- Related glossary terms: + - {{glossary("Inline-level content")}} - [Block formatting context](/en-US/docs/Web/CSS/CSS_display/Block_formatting_context) - {{cssxref("display")}} - [`writing-mode`](/en-US/docs/Web/CSS/writing-mode) diff --git a/files/en-us/glossary/boolean/aria/index.md b/files/en-us/glossary/boolean/aria/index.md index 3c8fbfb781a7d36..540912bc368f675 100644 --- a/files/en-us/glossary/boolean/aria/index.md +++ b/files/en-us/glossary/boolean/aria/index.md @@ -14,3 +14,4 @@ In ARIA, booleans only come in the form of strings `"true"` and `"false"`. - Related glossary terms: - {{Glossary("Enumerated")}} that contains more behavioral details and examples of ARIA boolean attributes + - {{Glossary("Boolean/HTML", "Boolean attribute")}} in HTML diff --git a/files/en-us/glossary/brotli_compression/index.md b/files/en-us/glossary/brotli_compression/index.md index b01a8604737f7b5..3c57b84bbbfa5a5 100644 --- a/files/en-us/glossary/brotli_compression/index.md +++ b/files/en-us/glossary/brotli_compression/index.md @@ -19,6 +19,8 @@ Brotli is compatible with most modern browsers, but you may want to consider a f - Related glossary terms: - {{glossary("Lossless compression")}} - {{glossary("Lossy compression")}} + - {{Glossary("Gzip compression")}} + - {{Glossary("Zstandard compression")}} - [brotli.org](https://brotli.org/) - [Brotli GitHub repository](https://github.com/google/brotli) - [RFC 7932: Brotli Compressed Data Format](https://tools.ietf.org/html/rfc7932) diff --git a/files/en-us/glossary/browsing_context/index.md b/files/en-us/glossary/browsing_context/index.md index f0c9e4a8edf28bd..101647f3b8df7f7 100644 --- a/files/en-us/glossary/browsing_context/index.md +++ b/files/en-us/glossary/browsing_context/index.md @@ -14,4 +14,5 @@ Communication between browsing contexts is severely constrained. Between browsin ## See also -- See {{glossary("origin")}} +- Related glossary terms: + - {{glossary("Origin")}} diff --git a/files/en-us/glossary/code_splitting/index.md b/files/en-us/glossary/code_splitting/index.md index 5892b3d98650d78..7130e19663206ef 100644 --- a/files/en-us/glossary/code_splitting/index.md +++ b/files/en-us/glossary/code_splitting/index.md @@ -15,5 +15,6 @@ Code splitting is a feature supported by bundlers like [Webpack](https://webpack ## See also - [Lazy loading](/en-US/docs/Web/Performance/Lazy_loading) -- [HTTP/2](/en-US/docs/Glossary/HTTP_2) -- [Tree shaking](/en-US/docs/Glossary/Tree_shaking) +- Related glossary terms: + - {{Glossary("HTTP 2", "HTTP/2")}} + - {{Glossary("Tree shaking")}} diff --git a/files/en-us/glossary/cors-safelisted_request_header/index.md b/files/en-us/glossary/cors-safelisted_request_header/index.md index d5fd2b014b9b633..6bf3070c6bd64e4 100644 --- a/files/en-us/glossary/cors-safelisted_request_header/index.md +++ b/files/en-us/glossary/cors-safelisted_request_header/index.md @@ -14,7 +14,7 @@ A [**CORS-safelisted request header**](https://fetch.spec.whatwg.org/#cors-safel - {{HTTPHeader("Content-Type")}} - {{HTTPHeader("Range")}} -When containing only these headers (and values that meet the additional requirements laid out below), a request doesn't need to send a {{glossary("preflight request")}} in the context of [CORS](/en-US/docs/Glossary/CORS). +When containing only these headers (and values that meet the additional requirements laid out below), a request doesn't need to send a {{glossary("preflight request")}} in the context of {{Glossary("CORS")}}. You can safelist more headers using the {{HTTPHeader("Access-Control-Allow-Headers")}} header and also list the above headers there to circumvent the following additional restrictions. diff --git a/files/en-us/glossary/csp/index.md b/files/en-us/glossary/csp/index.md index a43fc04e962f63d..16c6f0c23f8799c 100644 --- a/files/en-us/glossary/csp/index.md +++ b/files/en-us/glossary/csp/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -A **CSP** ([Content Security Policy](/en-US/docs/Web/HTTP/CSP)) is used to detect and mitigate certain types of website related attacks like {{Glossary("Cross-site_scripting")}}, [clickjacking](/en-US/docs/Glossary/Clickjacking) and data injections. +A **CSP** ([Content Security Policy](/en-US/docs/Web/HTTP/CSP)) is used to detect and mitigate certain types of website related attacks like {{Glossary("Cross-site_scripting")}}, {{Glossary("clickjacking")}} and data injections. The implementation is based on an {{Glossary("HTTP")}} header called {{HTTPHeader("Content-Security-Policy")}}. diff --git a/files/en-us/glossary/deep_copy/index.md b/files/en-us/glossary/deep_copy/index.md index ea459adb32610ec..297ea42bc2fdd67 100644 --- a/files/en-us/glossary/deep_copy/index.md +++ b/files/en-us/glossary/deep_copy/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -A **deep copy** of an object is a copy whose properties do not share the same references (point to the same underlying values) as those of the source object from which the copy was made. As a result, when you change either the source or the copy, you can be assured you're not causing the other object to change too. That behavior contrasts with the behavior of a [shallow copy](/en-US/docs/Glossary/Shallow_copy), in which changes to nested properties in the source or the copy may cause the other object to change too. +A **deep copy** of an object is a copy whose properties do not share the same references (point to the same underlying values) as those of the source object from which the copy was made. As a result, when you change either the source or the copy, you can be assured you're not causing the other object to change too. That behavior contrasts with the behavior of a {{Glossary("shallow copy")}}, in which changes to nested properties in the source or the copy may cause the other object to change too. Two objects `o1` and `o2` are _structurally equivalent_ if their observed behaviors are the same. These behaviors include: @@ -25,11 +25,11 @@ We can now define deep copies more formally as: Deep copies may or may not have their prototype chains copied (and often they do not). But two objects with structurally non-equivalent prototype chains (for example, one is an array and the other is a plain object) are never copies of each other. -The copy of an object whose properties all have primitive values fits the definition of both a deep copy and a [shallow copy](/en-US/docs/Glossary/Shallow_copy). It is somewhat useless to talk about the depth of such a copy, though, because it has no nested properties and we usually talk about deep copying in the context of mutating nested properties. +The copy of an object whose properties all have primitive values fits the definition of both a deep copy and a {{Glossary("shallow copy")}}. It is somewhat useless to talk about the depth of such a copy, though, because it has no nested properties and we usually talk about deep copying in the context of mutating nested properties. In JavaScript, standard built-in object-copy operations ([spread syntax](/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax), [`Array.prototype.concat()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat), [`Array.prototype.slice()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice), [`Array.from()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from), and [`Object.assign()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)) do not create deep copies (instead, they create shallow copies). -One way to make a deep copy of a JavaScript object, if it can be [serialized](/en-US/docs/Glossary/Serialization), is to use {{jsxref("JSON.stringify()")}} to convert the object to a JSON string, and then {{jsxref("JSON.parse()")}} to convert the string back into a (completely new) JavaScript object: +One way to make a deep copy of a JavaScript object, if it can be {{Glossary("serialization", "serialized")}}, is to use {{jsxref("JSON.stringify()")}} to convert the object to a JSON string, and then {{jsxref("JSON.parse()")}} to convert the string back into a (completely new) JavaScript object: ```js const ingredientsList = ["noodles", { list: ["eggs", "flour", "water"] }]; @@ -46,7 +46,7 @@ console.log(ingredientsList[1].list); // Array(3) [ "eggs", "flour", "water" ] ``` -However, while the object in the code above is simple enough to be [serializable](/en-US/docs/Glossary/Serialization), many JavaScript objects are not serializable at all — for example, [functions](/en-US/docs/Web/JavaScript/Guide/Functions) (with closures), [Symbols](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol), objects that represent HTML elements in the [HTML DOM API](/en-US/docs/Web/API/HTML_DOM_API), recursive data, and many other cases. Calling `JSON.stringify()` to serialize the objects in those cases will fail. So there's no way to make deep copies of such objects. +However, while the object in the code above is simple enough to be {{Glossary("serialization", "serializable")}}, many JavaScript objects are not serializable at all — for example, [functions](/en-US/docs/Web/JavaScript/Guide/Functions) (with closures), [Symbols](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol), objects that represent HTML elements in the [HTML DOM API](/en-US/docs/Web/API/HTML_DOM_API), recursive data, and many other cases. Calling `JSON.stringify()` to serialize the objects in those cases will fail. So there's no way to make deep copies of such objects. The web API [`structuredClone()`](/en-US/docs/Web/API/structuredClone) also creates deep copies and has the advantage of allowing [transferable objects](/en-US/docs/Web/API/Web_Workers_API/Transferable_objects) in the source to be _transferred_ to the new copy, rather than just cloned. It also handles more data types, such as `Error`. But note that `structuredClone()` isn't a feature of the JavaScript language itself — instead it's a feature of browsers and other JavaScript hosts that implement web APIs. And calling `structuredClone()` to clone a non-serializable object will fail in the same way that calling `JSON.stringify()` to serialize it will fail. diff --git a/files/en-us/glossary/domain_sharding/index.md b/files/en-us/glossary/domain_sharding/index.md index 612c9851f212cdf..6aae0c01ebe1691 100644 --- a/files/en-us/glossary/domain_sharding/index.md +++ b/files/en-us/glossary/domain_sharding/index.md @@ -18,5 +18,5 @@ HTTP2 supports unlimited concurrent requests making domain sharding an obsolete - Related glossary terms: - {{Glossary("TLS")}} -- [DNS](/en-US/docs/Glossary/DNS) -- [HTTP/2](/en-US/docs/Glossary/HTTP_2) + - {{Glossary("DNS")}} + - {{Glossary("HTTP 2", "HTTP/2")}} diff --git a/files/en-us/glossary/effective_connection_type/index.md b/files/en-us/glossary/effective_connection_type/index.md index 96fb01cb9ea5b0f..7a2011090111b84 100644 --- a/files/en-us/glossary/effective_connection_type/index.md +++ b/files/en-us/glossary/effective_connection_type/index.md @@ -10,12 +10,12 @@ page-type: glossary-definition The values of '`slow-2g`', '`2g`', '`3g`', and '`4g`' are determined using observed round-trip times and downlink values. -| ECT | Minimum [RTT](/en-US/docs/Glossary/Round_Trip_Time) | Maximum downlink | Explanation | -| --------- | --------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------- | -| `slow-2g` | 2000ms | 50 Kbps | The network is suited for small transfers only such as text-only pages. | -| `2g` | 1400ms | 70 Kbps | The network is suited for transfers of small images. | -| `3g` | 270ms | 700 Kbps | The network is suited for transfers of large assets such as high resolution images, audio, and SD video. | -| `4g` | 0ms | ∞ | The network is suited for HD video, real-time video, etc. | +| ECT | Minimum {{Glossary("Round Trip Time", "RTT")}} | Maximum downlink | Explanation | +| --------- | ---------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------- | +| `slow-2g` | 2000ms | 50 Kbps | The network is suited for small transfers only such as text-only pages. | +| `2g` | 1400ms | 70 Kbps | The network is suited for transfers of small images. | +| `3g` | 270ms | 700 Kbps | The network is suited for transfers of large assets such as high resolution images, audio, and SD video. | +| `4g` | 0ms | ∞ | The network is suited for HD video, real-time video, etc. | [effectiveType](/en-US/docs/Web/API/NetworkInformation/effectiveType) is a property of the [Network Information API](/en-US/docs/Web/API/Network_Information_API), exposed to JavaScript via the [navigator.connection](/en-US/docs/Web/API/Navigator/connection) object. To see your effective connection type, open the console of the developer tools of a supporting browser and enter the following: diff --git a/files/en-us/glossary/enumerated/index.md b/files/en-us/glossary/enumerated/index.md index be886a23990440f..f0581074480e35a 100644 --- a/files/en-us/glossary/enumerated/index.md +++ b/files/en-us/glossary/enumerated/index.md @@ -12,7 +12,7 @@ In computer science, an **enumerated** type is a data type consisting of a limit In HTML, [enumerated attributes](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute) are attributes with a limited, predefined set of text values. For example, the global HTML [`dir`](/en-US/docs/Web/HTML/Global_attributes/dir) attribute has three valid values: `ltr`, `rtl`, and `auto`. -Each enumerated attribute has a default value for when the attribute is present without a value (the value is missing), and a default value for when the attribute is assigned an invalid value. Unlike [Boolean](/en-US/docs/Glossary/Boolean) HTML attributes — which are always true when the attribute is present whether the value is present, omitted, or invalid — with enumerated HTML attributes, the default for an omitted value may be different from the default for invalid values. For example, the global HTML [`contenteditable`](/en-US/docs/Web/HTML/Global_attributes/contenteditable) attribute has two valid keywords: `true` and `false`. If the attribute is present but no value is set, the value is `true`. If a value is set, but is invalid, such as `contenteditable="contenteditable"`, the value maps to a third state, `inherit`. +Each enumerated attribute has a default value for when the attribute is present without a value (the value is missing), and a default value for when the attribute is assigned an invalid value. Unlike {{Glossary("Boolean/HTML", "Boolean attribute")}} HTML attributes — which are always true when the attribute is present whether the value is present, omitted, or invalid — with enumerated HTML attributes, the default for an omitted value may be different from the default for invalid values. For example, the global HTML [`contenteditable`](/en-US/docs/Web/HTML/Global_attributes/contenteditable) attribute has two valid keywords: `true` and `false`. If the attribute is present but no value is set, the value is `true`. If a value is set, but is invalid, such as `contenteditable="contenteditable"`, the value maps to a third state, `inherit`. ## ARIA enumerated attributes @@ -26,6 +26,6 @@ In JavaScript, enumerable properties are those properties whose internal enumera ## See also -- [Boolean](/en-US/docs/Glossary/Boolean) +- {{Glossary("Boolean")}} - [JavaScript data types and data structures](/en-US/docs/Web/JavaScript/Data_structures) - [enumerated attributes](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute) in the HTML Standard diff --git a/files/en-us/glossary/event/index.md b/files/en-us/glossary/event/index.md index bbfecf2186c2943..3a95e8b796519cf 100644 --- a/files/en-us/glossary/event/index.md +++ b/files/en-us/glossary/event/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -Events are assets generated by [DOM](/en-US/docs/Glossary/DOM) elements, which can be manipulated by a JavaScript code. +Events are assets generated by {{Glossary("DOM")}} elements, which can be manipulated by a JavaScript code. ## See also diff --git a/files/en-us/glossary/fallback_alignment/index.md b/files/en-us/glossary/fallback_alignment/index.md index acdbe618287d784..d588384ab9780e9 100644 --- a/files/en-us/glossary/fallback_alignment/index.md +++ b/files/en-us/glossary/fallback_alignment/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -In [CSS Box Alignment](/en-US/docs/Web/CSS/CSS_box_alignment), a fallback alignment is specified in order to deal with cases where the requested alignment cannot be fulfilled. For example, if you specify `justify-content: space-between` there must be more than one [alignment subject](/en-US/docs/Glossary/Alignment_Subject). If there is not, the fallback alignment is used. This is specified per alignment method, as detailed below. +In [CSS Box Alignment](/en-US/docs/Web/CSS/CSS_box_alignment), a fallback alignment is specified in order to deal with cases where the requested alignment cannot be fulfilled. For example, if you specify `justify-content: space-between` there must be more than one {{Glossary("alignment subject")}}. If there is not, the fallback alignment is used. This is specified per alignment method, as detailed below. - First baseline - : `start` diff --git a/files/en-us/glossary/falsy/index.md b/files/en-us/glossary/falsy/index.md index 41236c8b4288dd1..220cbfd7449fdee 100644 --- a/files/en-us/glossary/falsy/index.md +++ b/files/en-us/glossary/falsy/index.md @@ -24,7 +24,7 @@ The following table provides a complete list of JavaScript falsy values: | `""` | String | Empty [string](/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) value, also including `''` and ` `` `. | | {{domxref("document.all")}} | Object | The only falsy object in JavaScript is the built-in {{domxref("document.all")}}. | -The values `null` and `undefined` are also [nullish](/en-US/docs/Glossary/Nullish). +The values `null` and `undefined` are also {{Glossary("nullish")}}. ## Examples diff --git a/files/en-us/glossary/first_contentful_paint/index.md b/files/en-us/glossary/first_contentful_paint/index.md index b0979d92b050c94..7405963182a24f0 100644 --- a/files/en-us/glossary/first_contentful_paint/index.md +++ b/files/en-us/glossary/first_contentful_paint/index.md @@ -12,8 +12,9 @@ _The First Contentful Paint_ timestamp is when the browser first rendered any te ## See also -- [First paint](/en-US/docs/Glossary/First_paint) - [`PerformancePaintTiming`](/en-US/docs/Web/API/PerformancePaintTiming) -- [Largest Contentful Paint](/en-US/docs/Glossary/Largest_contentful_paint) -- [First meaningful paint](/en-US/docs/Glossary/First_meaningful_paint) +- Related glossary terms: + - {{Glossary("First paint")}} + - {{Glossary("Largest contentful paint")}} + - {{Glossary("First meaningful paint")}} - [First Contentful Paint](https://web.dev/articles/fcp) at web.dev diff --git a/files/en-us/glossary/first_cpu_idle/index.md b/files/en-us/glossary/first_cpu_idle/index.md index e6b00e39fd3205e..0be19eaaa1fd254 100644 --- a/files/en-us/glossary/first_cpu_idle/index.md +++ b/files/en-us/glossary/first_cpu_idle/index.md @@ -11,5 +11,5 @@ page-type: glossary-definition ## See also - Metrics which replaced First CPU Idle: - - [Time to interactive](/en-US/docs/Glossary/Time_to_interactive) - - [Total blocking time](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/) + - {{Glossary("Time to interactive")}} +- [Total blocking time](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/) diff --git a/files/en-us/glossary/first_meaningful_paint/index.md b/files/en-us/glossary/first_meaningful_paint/index.md index 4546f8992aa2dd8..c8b5f96daf3771a 100644 --- a/files/en-us/glossary/first_meaningful_paint/index.md +++ b/files/en-us/glossary/first_meaningful_paint/index.md @@ -15,5 +15,6 @@ FMP is very sensitive to small differences in the page load. This can lead to in ## See also -- [First contentful paint](/en-US/docs/Glossary/First_contentful_paint) -- [Largest Contentful Paint](https://wicg.github.io/largest-contentful-paint/) +- Related glossary terms: + - {{Glossary("First contentful paint")}} + - {{Glossary("Largest contentful paint")}} diff --git a/files/en-us/glossary/first_paint/index.md b/files/en-us/glossary/first_paint/index.md index 3918e210b8e1f5a..d3e4d520c33a9dc 100644 --- a/files/en-us/glossary/first_paint/index.md +++ b/files/en-us/glossary/first_paint/index.md @@ -10,7 +10,8 @@ page-type: glossary-definition ## See also -- [First contentful paint](/en-US/docs/Glossary/First_contentful_paint) - [`PerformancePaintTiming`](/en-US/docs/Web/API/PerformancePaintTiming) -- [Largest Contentful Paint](/en-US/docs/Glossary/Largest_contentful_paint) -- [First meaningful paint](/en-US/docs/Glossary/First_meaningful_paint) +- Related glossary terms: + - {{Glossary("First contentful paint")}} + - {{Glossary("Largest contentful paint")}} + - {{Glossary("First meaningful paint")}} diff --git a/files/en-us/glossary/forbidden_header_name/index.md b/files/en-us/glossary/forbidden_header_name/index.md index 4b26435cf04482a..526fe1b42b5ca57 100644 --- a/files/en-us/glossary/forbidden_header_name/index.md +++ b/files/en-us/glossary/forbidden_header_name/index.md @@ -44,4 +44,4 @@ Forbidden header names start with `Proxy-` or `Sec-`, or are one of the followin ## See also - Related glossary terms: -- {{Glossary("Forbidden response header name")}} + - {{Glossary("Forbidden response header name")}} diff --git a/files/en-us/glossary/gzip_compression/index.md b/files/en-us/glossary/gzip_compression/index.md index 98419a8aa63e30c..0419bf35e26f1d1 100644 --- a/files/en-us/glossary/gzip_compression/index.md +++ b/files/en-us/glossary/gzip_compression/index.md @@ -13,5 +13,7 @@ page-type: glossary-definition - Related glossary terms: - {{glossary("Lossless compression")}} - {{glossary("Lossy compression")}} + - {{Glossary("Brotli compression")}} + - {{Glossary("Zstandard compression")}} - [The gzip home page](https://www.gzip.org/) - [gzip on Wikipedia](https://en.wikipedia.org/wiki/Gzip) diff --git a/files/en-us/glossary/houdini/index.md b/files/en-us/glossary/houdini/index.md index d1f9db5c290f1a4..1026678a4d52360 100644 --- a/files/en-us/glossary/houdini/index.md +++ b/files/en-us/glossary/houdini/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -Houdini is a set of low level APIs that give developers the power to extend CSS, providing the ability to hook into the styling and layout process of a browser's rendering engine. Houdini gives developers access to the [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model) ([CSSOM](/en-US/docs/Glossary/CSSOM)), enabling developers to write code the browser can parse as CSS. +Houdini is a set of low level APIs that give developers the power to extend CSS, providing the ability to hook into the styling and layout process of a browser's rendering engine. Houdini gives developers access to the [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model) ({{Glossary("CSSOM")}}), enabling developers to write code the browser can parse as CSS. The benefit of Houdini is that developers can create CSS features without waiting for web standards specifications to define them and without waiting for every browser to fully implement the features. diff --git a/files/en-us/glossary/inline-level_content/index.md b/files/en-us/glossary/inline-level_content/index.md index 3ad97828898c418..ec9d9351e3c0b68 100644 --- a/files/en-us/glossary/inline-level_content/index.md +++ b/files/en-us/glossary/inline-level_content/index.md @@ -44,6 +44,7 @@ body { ## See also -- [Block-level content](/en-US/docs/Glossary/Block-level_content) +- Related glossary terms: + - {{Glossary("Block-level content")}} - [Inline formatting context](/en-US/docs/Web/CSS/Inline_formatting_context) - {{cssxref("display")}} diff --git a/files/en-us/glossary/json_type_representation/index.md b/files/en-us/glossary/json_type_representation/index.md index ebec5acd9dd42a1..29705737fa9f1aa 100644 --- a/files/en-us/glossary/json_type_representation/index.md +++ b/files/en-us/glossary/json_type_representation/index.md @@ -11,7 +11,7 @@ page-type: glossary-definition The _JSON type representation_ of a JSON-incompatible object is an equivalent JavaScript object with properties encoded such that the information _can_ be serialized to JSON. This typically has the same properties as the original object for compatible data types, while incompatible properties are converted/serialized to compatible types. -For example, buffer properties in the original object might be [base64url](/en-US/docs/Glossary/Base64)-encoded to strings in the JSON-type representation. +For example, buffer properties in the original object might be {{Glossary("base64", "base64url")}}-encoded to strings in the JSON-type representation. An object that cannot automatically be serialized to JSON using the [`JSON.stringify()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) method can define an instance method named `toJSON()` that returns the _JSON-type representation_ of the original object. [`JSON.stringify()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) will then use `toJSON()` to get the object to stringify, instead of the original object. diff --git a/files/en-us/glossary/kebab_case/index.md b/files/en-us/glossary/kebab_case/index.md index 89fc2c9875f3010..d61a1cc4c5a0560 100644 --- a/files/en-us/glossary/kebab_case/index.md +++ b/files/en-us/glossary/kebab_case/index.md @@ -14,6 +14,7 @@ Kebab-cased words are often simply referred to as _hyphenated_. ## See also -- [Camel case](/en-US/docs/Glossary/Camel_case) -- [Snake case](/en-US/docs/Glossary/Snake_case) +- Related glossary terms: + - {{Glossary("Camel case")}} + - {{Glossary("Snake case")}} - [typescript-eslint rule: `naming-convention`](https://typescript-eslint.io/rules/naming-convention/) diff --git a/files/en-us/glossary/largest_contentful_paint/index.md b/files/en-us/glossary/largest_contentful_paint/index.md index 7df4a43bf98cccb..d62ebf5714e5d18 100644 --- a/files/en-us/glossary/largest_contentful_paint/index.md +++ b/files/en-us/glossary/largest_contentful_paint/index.md @@ -19,5 +19,6 @@ The following elements are considered when determining the LCP: ## See also - [`LargestContentfulPaint`](/en-US/docs/Web/API/LargestContentfulPaint) -- [First contentful paint](/en-US/docs/Glossary/First_contentful_paint) -- [First paint](/en-US/docs/Glossary/First_paint) +- Related glossary terms: + - {{Glossary("First contentful paint")}} + - {{Glossary("First paint")}} diff --git a/files/en-us/glossary/lazy_load/index.md b/files/en-us/glossary/lazy_load/index.md index 3e448c5402ca2db..450159d32b3e148 100644 --- a/files/en-us/glossary/lazy_load/index.md +++ b/files/en-us/glossary/lazy_load/index.md @@ -8,7 +8,7 @@ page-type: glossary-definition **Lazy loading** is a strategy that delays the loading of some assets (e.g., images) until they are needed by the user based on the user's activity and navigation pattern; typically, these assets are only loaded when they are scrolled into view. -If correctly implemented, this delay in asset loading is seamless to the user experience and might help improve initial load performance, including [time to interactive](/en-US/docs/Glossary/Time_to_interactive), as fewer assets are required for the page to start working. +If correctly implemented, this delay in asset loading is seamless to the user experience and might help improve initial load performance, including {{Glossary("time to interactive")}}, as fewer assets are required for the page to start working. ## See also diff --git a/files/en-us/glossary/long_task/index.md b/files/en-us/glossary/long_task/index.md index 2668aa88abcf8cf..eb3b5d90d2271a6 100644 --- a/files/en-us/glossary/long_task/index.md +++ b/files/en-us/glossary/long_task/index.md @@ -8,7 +8,7 @@ page-type: glossary-definition A **long task** is a task that takes more than 50ms to complete. -It is an uninterrupted period where the [main UI thread](/en-US/docs/Glossary/Main_thread) is busy for 50 ms or longer. Common examples include long running event handlers, expensive [reflows](/en-US/docs/Glossary/Reflow) and other re-renders, and work the browser does between different turns of the event loop that exceeds 50 ms. +It is an uninterrupted period where the {{Glossary("main thread", "main UI thread")}} is busy for 50 ms or longer. Common examples include long running event handlers, expensive {{Glossary("reflow", "reflows")}} and other re-renders, and work the browser does between different turns of the event loop that exceeds 50 ms. ## See also diff --git a/files/en-us/glossary/lossy_compression/index.md b/files/en-us/glossary/lossy_compression/index.md index c8292d8118b148b..c413b75b47a6605 100644 --- a/files/en-us/glossary/lossy_compression/index.md +++ b/files/en-us/glossary/lossy_compression/index.md @@ -17,4 +17,5 @@ Although there is no obvious difference in quality between the two images above, ## See also -- [Lossless compression](/en-US/docs/Glossary/Lossless_compression) +- Related glossary terms: + - {{Glossary("Lossless compression")}} diff --git a/files/en-us/glossary/ltr/index.md b/files/en-us/glossary/ltr/index.md index c3ec81be0da4b51..c45504363a82e3b 100644 --- a/files/en-us/glossary/ltr/index.md +++ b/files/en-us/glossary/ltr/index.md @@ -15,9 +15,10 @@ The opposite of LTR, {{Glossary("RTL")}} (Right To Left) is used in other common ## See also - Related glossary terms: - - {{Glossary("locale")}} + - {{Glossary("Locale")}} - {{Glossary("Localization")}} - {{Glossary("RTL")}} + - {{Glossary("BiDi")}} - [HTML global attributes](/en-US/docs/Web/HTML/Global_attributes) - [dir](/en-US/docs/Web/HTML/Global_attributes#dir) - [lang](/en-US/docs/Web/HTML/Global_attributes#lang) diff --git a/files/en-us/glossary/mime/index.md b/files/en-us/glossary/mime/index.md index 4004733f482c900..29ddb07d3fe1975 100644 --- a/files/en-us/glossary/mime/index.md +++ b/files/en-us/glossary/mime/index.md @@ -11,5 +11,6 @@ Initially used for email attachments, it has become the de facto standard to def ## See also -- [MIME-Type](/en-US/docs/Glossary/MIME_type) - [MIME](https://en.wikipedia.org/wiki/MIME) on Wikipedia +- Related glossary terms: + - {{Glossary("MIME Type")}} diff --git a/files/en-us/glossary/network_throttling/index.md b/files/en-us/glossary/network_throttling/index.md index 1f03ef93f3f6666..8b48d4a3193fd0f 100644 --- a/files/en-us/glossary/network_throttling/index.md +++ b/files/en-us/glossary/network_throttling/index.md @@ -14,4 +14,5 @@ Browser developer tools generally have network throttling options, to allow you ## See also -- [Synthetic monitoring](/en-US/docs/Glossary/Synthetic_monitoring) +- Related glossary terms: + - {{Glossary("Synthetic monitoring")}} diff --git a/files/en-us/glossary/null/index.md b/files/en-us/glossary/null/index.md index 1c8dc23f6a88eda..9ab1aab839bf793 100644 --- a/files/en-us/glossary/null/index.md +++ b/files/en-us/glossary/null/index.md @@ -21,8 +21,7 @@ This is considered [a bug](/en-US/docs/Web/JavaScript/Reference/Operators/typeof - [JavaScript data types](/en-US/docs/Web/JavaScript/Data_structures) - The JavaScript global object: [`null`](/en-US/docs/Web/JavaScript/Reference/Operators/null) - [Null pointer](https://en.wikipedia.org/wiki/Null_pointer) on Wikipedia -- **[Glossary](/en-US/docs/Glossary)** - +- Related glossary terms: - {{Glossary("JavaScript")}} - {{Glossary("string")}} - {{Glossary("number")}} diff --git a/files/en-us/glossary/nullish/index.md b/files/en-us/glossary/nullish/index.md index 64de83c54ead1b9..bfd9e9ea3fb207a 100644 --- a/files/en-us/glossary/nullish/index.md +++ b/files/en-us/glossary/nullish/index.md @@ -6,4 +6,4 @@ page-type: glossary-definition {{GlossarySidebar}} -In [JavaScript](/en-US/docs/Glossary/JavaScript), a nullish value is the value which is either [`null`](/en-US/docs/Web/JavaScript/Reference/Operators/null) or {{JSxRef("undefined")}}. Nullish values are always [falsy](/en-US/docs/Glossary/Falsy). +In {{Glossary("JavaScript")}}, a nullish value is the value which is either [`null`](/en-US/docs/Web/JavaScript/Reference/Operators/null) or {{JSxRef("undefined")}}. Nullish values are always {{Glossary("falsy")}}. diff --git a/files/en-us/glossary/object_reference/index.md b/files/en-us/glossary/object_reference/index.md index 69843ef7b5e86ca..17b74de44b6cae0 100644 --- a/files/en-us/glossary/object_reference/index.md +++ b/files/en-us/glossary/object_reference/index.md @@ -8,7 +8,7 @@ page-type: glossary-definition An **object reference** is a link to an _{{glossary("object")}}_. Object references can be used exactly like the linked objects. -The concept of object references becomes clear when assigning the same object to more than one _[property](/en-US/docs/Glossary/Property/JavaScript)_. Rather than holding a copy of the object, each assigned property holds object references that link to the same object so that when the object changes, all properties referring to the object reflect the change. +The concept of object references becomes clear when assigning the same object to more than one _{{Glossary("property/javascript", "property")}}_. Rather than holding a copy of the object, each assigned property holds object references that link to the same object so that when the object changes, all properties referring to the object reflect the change. ## See also diff --git a/files/en-us/glossary/page_load_time/index.md b/files/en-us/glossary/page_load_time/index.md index 83d8fdec4412099..7a56ad16b4b2b03 100644 --- a/files/en-us/glossary/page_load_time/index.md +++ b/files/en-us/glossary/page_load_time/index.md @@ -14,7 +14,7 @@ let time = performance.timing; let pageloadtime = time.loadEventStart - time.navigationStart; ``` -While page load time 'sounds' like the perfect web performance metric, it isn't. Load times can vary greatly between users depending on device capabilities, network conditions, and, to a lesser extent, distance from the server. The development environment, where page load time is measured, is likely an optimal experience, not reflective of your users' reality. In addition, web performance isn't just about when the load event happens. It's also about [perceived performance](/en-US/docs/Glossary/Perceived_performance), responsiveness, [jank](/en-US/docs/Glossary/Jank) and jitter. +While page load time 'sounds' like the perfect web performance metric, it isn't. Load times can vary greatly between users depending on device capabilities, network conditions, and, to a lesser extent, distance from the server. The development environment, where page load time is measured, is likely an optimal experience, not reflective of your users' reality. In addition, web performance isn't just about when the load event happens. It's also about {{Glossary("perceived performance")}}, responsiveness, {{Glossary("jank")}} and jitter. ## See also diff --git a/files/en-us/glossary/page_prediction/index.md b/files/en-us/glossary/page_prediction/index.md index bc36a5d2e59b1a0..ce0a1bd3e7976b0 100644 --- a/files/en-us/glossary/page_prediction/index.md +++ b/files/en-us/glossary/page_prediction/index.md @@ -14,5 +14,6 @@ Although browser page prediction and prediction services enable faster page load ## See also -- [prerender](/en-US/docs/Glossary/Prerender) -- [prefetch](/en-US/docs/Glossary/Prefetch) +- Related glossary terms: + - {{Glossary("prerender")}} + - {{Glossary("prefetch")}} diff --git a/files/en-us/glossary/physical_properties/index.md b/files/en-us/glossary/physical_properties/index.md index 6ed10c06e5f8b47..531e7bc13b6e38d 100644 --- a/files/en-us/glossary/physical_properties/index.md +++ b/files/en-us/glossary/physical_properties/index.md @@ -8,7 +8,7 @@ page-type: glossary-definition CSS **physical properties** define positions based on physical directions or element sides. For example: -- The [inset properties](/en-US/docs/Glossary/Inset_properties) {{cssxref("top")}}, {{cssxref("right")}}, {{cssxref("bottom")}}, and {{cssxref("left")}} refer to the physical dimensions of the viewport. +- The {{Glossary("inset properties")}} {{cssxref("top")}}, {{cssxref("right")}}, {{cssxref("bottom")}}, and {{cssxref("left")}} refer to the physical dimensions of the viewport. - Features such as {{cssxref("margin-top")}}, {{cssxref("border-right")}}, {{cssxref("padding-bottom")}}, and {{cssxref("border-bottom-left-radius")}} reference specific sides of an element, and style features by that physical direction. This is opposed to {{glossary("logical properties")}}, which are relative to the content flow and use directional keywords relative to the block and inline axes. diff --git a/files/en-us/glossary/pop/index.md b/files/en-us/glossary/pop/index.md index cf2dc5da96e6c02..68605bdffe1507b 100644 --- a/files/en-us/glossary/pop/index.md +++ b/files/en-us/glossary/pop/index.md @@ -17,5 +17,4 @@ Clients usually retrieve all messages and then delete them from the server, but - [RFC 1939](https://datatracker.ietf.org/doc/html/rfc1939) (Specification of POP3) - [RFC 2449](https://datatracker.ietf.org/doc/html/rfc2449) (Specification of POP3 extension mechanism) - Related glossary terms:: - - {{Glossary("IMAP")}} diff --git a/files/en-us/glossary/prerender/index.md b/files/en-us/glossary/prerender/index.md index e1c6c9cdd1772d5..5190c7282ad4870 100644 --- a/files/en-us/glossary/prerender/index.md +++ b/files/en-us/glossary/prerender/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -Prerendering refers to the practice of speculatively [prefetching](/en-US/docs/Glossary/Prefetch) and _rendering_ pages that the user is likely to navigate to in the near future (the browser renders the page in the background in what is effectively an invisible separate tab). Prerendering includes downloading a document's subresources and running associated JavaScript. +Prerendering refers to the practice of speculatively {{Glossary("prefetch", "prefetching")}} and _rendering_ pages that the user is likely to navigate to in the near future (the browser renders the page in the background in what is effectively an invisible separate tab). Prerendering includes downloading a document's subresources and running associated JavaScript. If the user then chooses to navigate to the page, display of its content can be near instant. @@ -30,6 +30,7 @@ Prerendering results in faster display time than prefetching and hence a better ## See also - [Speculative loading](/en-US/docs/Web/Performance/Speculative_loading) -- [prefetch](/en-US/docs/Glossary/Prefetch) +- Related glossary terms: + - {{Glossary("Prefetch")}} - [Prerender pages in Chrome for instant page navigations](https://developer.chrome.com/blog/prerender-pages/#prerendering-from-the-address-bar) on developer.chrome.com (2023) - [Speculation Rules API](/en-US/docs/Web/API/Speculation_Rules_API) diff --git a/files/en-us/glossary/primitive/index.md b/files/en-us/glossary/primitive/index.md index ea044cc0cc05af1..b01c105cc16ae29 100644 --- a/files/en-us/glossary/primitive/index.md +++ b/files/en-us/glossary/primitive/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -In {{Glossary("JavaScript")}}, a **primitive** (primitive value, primitive data type) is data that is not an {{Glossary("object")}} and has no {{glossary("method","methods")}} or [properties](/en-US/docs/Glossary/Property/JavaScript). There are 7 primitive data types: +In {{Glossary("JavaScript")}}, a **primitive** (primitive value, primitive data type) is data that is not an {{Glossary("object")}} and has no {{glossary("method","methods")}} or {{Glossary("property/javascript", "properties")}}. There are 7 primitive data types: - {{Glossary("string")}} - {{Glossary("number")}} diff --git a/files/en-us/glossary/progressive_enhancement/index.md b/files/en-us/glossary/progressive_enhancement/index.md index 5cee5896acd94b8..02198ef66d55418 100644 --- a/files/en-us/glossary/progressive_enhancement/index.md +++ b/files/en-us/glossary/progressive_enhancement/index.md @@ -10,7 +10,7 @@ page-type: glossary-definition The word _progressive_ in _progressive enhancement_ means creating a design that achieves a simpler-but-still-usable experience for users of older browsers and devices with limited capabilities, while at the same time being a design that **progresses the user experience up** to a more-compelling, fully-featured experience for users of newer browsers and devices with richer capabilities. -[Feature detection](/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Feature_detection) is generally used to determine whether browsers can handle more modern functionality, while [polyfills](/en-US/docs/Glossary/Polyfill) are often used to add missing features with JavaScript. +[Feature detection](/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Feature_detection) is generally used to determine whether browsers can handle more modern functionality, while {{Glossary("polyfill", "polyfills")}} are often used to add missing features with JavaScript. Special notice should be taken of accessibility. Acceptable alternatives should be provided where possible. diff --git a/files/en-us/glossary/property/javascript/index.md b/files/en-us/glossary/property/javascript/index.md index 77e8ccdba630e3d..2e8808ac76bd724 100644 --- a/files/en-us/glossary/property/javascript/index.md +++ b/files/en-us/glossary/property/javascript/index.md @@ -11,7 +11,7 @@ A **JavaScript property** is a member of an [object](/en-US/docs/Web/JavaScript/ A property consists of the following parts: - A _name_ (also called a _key_), which is either a [string](/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) or a [symbol](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol). -- A _value_, which can be any JavaScript value. A property that has a function as its value may also be called a [method](/en-US/docs/Glossary/Method). +- A _value_, which can be any JavaScript value. A property that has a function as its value may also be called a {{Glossary("method")}}. - Some _attributes_, which specify how the property can be read and written. A property may have the `configurable`, `enumerable`, and `writable` attributes. [Accessor properties](/en-US/docs/Web/JavaScript/Data_structures#accessor_property) do not have an actual "value". The value is represented indirectly through a pair of functions, one (the getter) invoked when reading the value and one (the setter) invoked when setting the value. However, accessor properties behave like regular data properties on the surface, because the getter and setter functions are invoked automatically and are typically transparent to JavaScript code. diff --git a/files/en-us/glossary/quaternion/index.md b/files/en-us/glossary/quaternion/index.md index 18fe9d5b2b6045f..7955fa02aba41b1 100644 --- a/files/en-us/glossary/quaternion/index.md +++ b/files/en-us/glossary/quaternion/index.md @@ -8,7 +8,7 @@ page-type: glossary-definition A **quaternion** is the quotient of two 3D vectors and is used in 3D graphics and in accelerometer-based sensors to represent orientation or rotational data. -While mathematical quaternions are more involved than this, the **unit quaternions** (or **rotational quaternions**) used to represent rotation while using [WebGL](/en-US/docs/Glossary/WebGL) or [WebXR](/en-US/docs/Web/API/WebXR_Device_API), for example, are represented using the same syntax as a 3D point. As such, the type {{domxref("DOMPoint")}} (or {{domxref("DOMPointReadOnly")}}) is used to store quaternions. +While mathematical quaternions are more involved than this, the **unit quaternions** (or **rotational quaternions**) used to represent rotation while using {{Glossary("WebGL")}} or [WebXR](/en-US/docs/Web/API/WebXR_Device_API), for example, are represented using the same syntax as a 3D point. As such, the type {{domxref("DOMPoint")}} (or {{domxref("DOMPointReadOnly")}}) is used to store quaternions. ## See also diff --git a/files/en-us/glossary/raster_image/index.md b/files/en-us/glossary/raster_image/index.md index d3e1efbff6f6753..9194b4c9251c685 100644 --- a/files/en-us/glossary/raster_image/index.md +++ b/files/en-us/glossary/raster_image/index.md @@ -6,6 +6,6 @@ page-type: glossary-definition {{GlossarySidebar}} -A **_raster image_** is an image file defined as a grid of pixels. They're also referred to as _bitmaps_. Common raster image formats on the Web are [JPEG](/en-US/docs/Glossary/JPEG), [PNG](/en-US/docs/Glossary/PNG), [GIF](/en-US/docs/Glossary/GIF), and [ICO](). +A **_raster image_** is an image file defined as a grid of pixels. They're also referred to as _bitmaps_. Common raster image formats on the Web are {{Glossary("JPEG")}}, {{Glossary("PNG")}}, {{Glossary("GIF")}}, and [ICO](). Raster image files usually contain one set of dimensions, but the ICO and CUR formats, used for favicons and [CSS cursor images](/en-US/docs/Web/CSS/cursor), can contain multiple sizes. diff --git a/files/en-us/glossary/real_user_monitoring/index.md b/files/en-us/glossary/real_user_monitoring/index.md index 1f2a5ed536ca40c..1422f06d2655f3d 100644 --- a/files/en-us/glossary/real_user_monitoring/index.md +++ b/files/en-us/glossary/real_user_monitoring/index.md @@ -11,5 +11,6 @@ page-type: glossary-definition ## See also - [Real User Monitoring (RUM) versus Synthetic Monitoring](/en-US/docs/Web/Performance/Rum-vs-Synthetic) -- [Synthetic Monitoring](/en-US/docs/Glossary/Synthetic_monitoring) -- [Beacon](/en-US/docs/Glossary/Beacon) +- Related glossary terms: + - {{Glossary("Synthetic monitoring")}} + - {{Glossary("Beacon")}} diff --git a/files/en-us/glossary/reflow/index.md b/files/en-us/glossary/reflow/index.md index 6efc3f6aa8f45e5..b4fea69d4ad8b2a 100644 --- a/files/en-us/glossary/reflow/index.md +++ b/files/en-us/glossary/reflow/index.md @@ -10,6 +10,7 @@ page-type: glossary-definition ## See also -- [Repaint](/en-US/docs/Glossary/Repaint) +- Related glossary terms: + - {{Glossary("Repaint")}} - [Minimizing browser reflow](https://developer.google.com/speed/docs/insights/browser-reflow) on developer.google.com - [Understanding Reflow and Repaint in the browser](https://dev.to/gopal1996/understanding-reflow-and-repaint-in-the-browser-1jbg) on dev.to (2020) diff --git a/files/en-us/glossary/repaint/index.md b/files/en-us/glossary/repaint/index.md index e57eda3cfc8f119..88f1c8c7ccd4961 100644 --- a/files/en-us/glossary/repaint/index.md +++ b/files/en-us/glossary/repaint/index.md @@ -10,5 +10,6 @@ page-type: glossary-definition ## See also -- [Reflow](/en-US/docs/Glossary/Reflow) +- Related glossary terms: + - {{Glossary("Reflow")}} - [Understanding Reflow and Repaint in the browser](https://dev.to/gopal1996/understanding-reflow-and-repaint-in-the-browser-1jbg) on dev.to (2020) diff --git a/files/en-us/glossary/request_header/index.md b/files/en-us/glossary/request_header/index.md index 1fdbb57bde1cb06..4d3a84cca482461 100644 --- a/files/en-us/glossary/request_header/index.md +++ b/files/en-us/glossary/request_header/index.md @@ -10,7 +10,7 @@ A **request header** is an {{glossary("HTTP header")}} that can be used in an HT Not all headers that can appear in a request are referred to as _request headers_ by the specification. For example, the {{HTTPHeader("Content-Type")}} header is referred to as a {{glossary("representation header")}}. -In addition, [CORS](/en-US/docs/Glossary/CORS) defines a subset of request headers as {{glossary('CORS-safelisted request header', 'simple headers')}}, request headers that are always considered authorized and are not explicitly listed in responses to {{glossary("preflight request", "preflight")}} requests. +In addition, {{Glossary("CORS")}} defines a subset of request headers as {{glossary('CORS-safelisted request header', 'simple headers')}}, request headers that are always considered authorized and are not explicitly listed in responses to {{glossary("preflight request", "preflight")}} requests. The HTTP message below shows a few request headers after a {{HTTPMethod("GET")}} request: diff --git a/files/en-us/glossary/round_trip_time/index.md b/files/en-us/glossary/round_trip_time/index.md index 519fafc6a021850..51424fa15d4dfb2 100644 --- a/files/en-us/glossary/round_trip_time/index.md +++ b/files/en-us/glossary/round_trip_time/index.md @@ -30,5 +30,6 @@ In the above example, the average round trip time is shown on the final line as ## See also -- [Time to First Byte (TTFB)](/en-US/docs/Glossary/Time_to_first_byte) -- [Latency](/en-US/docs/Glossary/Latency) +- Related glossary terms: + - {{Glossary("Time to First Byte")}} (TTFB) + - {{Glossary("Latency")}} diff --git a/files/en-us/glossary/rtl/index.md b/files/en-us/glossary/rtl/index.md index de9f020add77612..ccfa0c4f645de67 100644 --- a/files/en-us/glossary/rtl/index.md +++ b/files/en-us/glossary/rtl/index.md @@ -15,5 +15,7 @@ The opposite of RTL, LTR (Left To Right) is used in other languages, including E ## See also - Related glossary terms: + - {{Glossary("Locale")}} - {{Glossary("Localization")}} - - {{Glossary("LTR", "LTR (Left to Right)")}} + - {{Glossary("LTR")}} (Left to Right) + - {{Glossary("BiDi")}} diff --git a/files/en-us/glossary/same-origin_policy/index.md b/files/en-us/glossary/same-origin_policy/index.md index a3926879c774b03..a322d7ae3fd0336 100644 --- a/files/en-us/glossary/same-origin_policy/index.md +++ b/files/en-us/glossary/same-origin_policy/index.md @@ -14,6 +14,5 @@ It helps isolate potentially malicious documents, reducing possible attack vecto - [Same-origin policy](/en-US/docs/Web/Security/Same-origin_policy) - Related glossary terms:: - - {{Glossary("CORS")}} - {{Glossary("origin")}} diff --git a/files/en-us/glossary/shadow_tree/index.md b/files/en-us/glossary/shadow_tree/index.md index a2853a183bf9497..314804bfdd3d9b0 100644 --- a/files/en-us/glossary/shadow_tree/index.md +++ b/files/en-us/glossary/shadow_tree/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -A **shadow tree** is a hidden set of {{Glossary("DOM")}} nodes whose topmost [node](/en-US/docs/Glossary/Node/DOM) is a **shadow root**. The shadow root is the topmost node of a **shadow DOM** and not part of the regular document's DOM tree. +A **shadow tree** is a hidden set of {{Glossary("DOM")}} nodes whose topmost {{Glossary("node/dom", "node")}} is a **shadow root**. The shadow root is the topmost node of a **shadow DOM** and not part of the regular document's DOM tree. The shadow root is attached to another node tree through a specific DOM node referred to as its **host**. This host may be part of another shadow tree or part of the regular DOM tree. The node tree of a shadow root's host is sometimes referred to as the **light tree**. diff --git a/files/en-us/glossary/shallow_copy/index.md b/files/en-us/glossary/shallow_copy/index.md index f9f5deb8622528e..afeaa7d33c28528 100644 --- a/files/en-us/glossary/shallow_copy/index.md +++ b/files/en-us/glossary/shallow_copy/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -A **shallow copy** of an object is a copy whose properties share the same [references](/en-US/docs/Glossary/Object_reference) (point to the same underlying values) as those of the source object from which the copy was made. As a result, when you change either the source or the copy, you may also cause the other object to change too. That behavior contrasts with the behavior of a [deep copy](/en-US/docs/Glossary/Deep_copy), in which the source and copy are completely independent. +A **shallow copy** of an object is a copy whose properties share the same {{Glossary("object reference", "references")}} (point to the same underlying values) as those of the source object from which the copy was made. As a result, when you change either the source or the copy, you may also cause the other object to change too. That behavior contrasts with the behavior of a {{Glossary("deep copy")}}, in which the source and copy are completely independent. More formally, two objects `o1` and `o2` are shallow copies if: @@ -15,9 +15,9 @@ More formally, two objects `o1` and `o2` are shallow copies if: 3. The values of their properties are equal. 4. Their prototype chains are equal. -See also [the definition of _structural equivalence_](/en-US/docs/Glossary/Deep_copy). +See also the definition of _{{Glossary("deep copy", "structural equivalence")}}_. -The copy of an object whose properties all have primitive values fits the definition of both a [deep copy](/en-US/docs/Glossary/Deep_copy) and a shallow copy. It is somewhat useless to talk about the depth of such a copy, though, because it has no nested properties and we usually talk about deep copying in the context of mutating nested properties. +The copy of an object whose properties all have primitive values fits the definition of both a {{Glossary("deep copy")}} and a shallow copy. It is somewhat useless to talk about the depth of such a copy, though, because it has no nested properties and we usually talk about deep copying in the context of mutating nested properties. For shallow copies, only the top-level properties are copied, not the values of nested objects. Therefore: @@ -57,4 +57,5 @@ console.log(JSON.stringify(ingredientsList)); ## See also -- [Deep copy](/en-US/docs/Glossary/Deep_copy) +- Related glossary terms: + - {{Glossary("Deep copy")}} diff --git a/files/en-us/glossary/signature/security/index.md b/files/en-us/glossary/signature/security/index.md index 068a84fa1e3a65a..ef71f3a7a1f748d 100644 --- a/files/en-us/glossary/signature/security/index.md +++ b/files/en-us/glossary/signature/security/index.md @@ -22,4 +22,6 @@ Digital signatures rely on asymmetric cryptography, also known as [public-key cr ## See also - [Digital signature](https://en.wikipedia.org/wiki/Digital_signature) on Wikipedia -- See {{glossary("digest")}}, {{glossary("encryption")}} +- Related glossary terms: + - {{glossary("digest")}} + - {{glossary("encryption")}} diff --git a/files/en-us/glossary/site_map/index.md b/files/en-us/glossary/site_map/index.md index 1732570d2b43a80..fe8d12033b87f07 100644 --- a/files/en-us/glossary/site_map/index.md +++ b/files/en-us/glossary/site_map/index.md @@ -8,4 +8,4 @@ page-type: glossary-definition A **site map** or **sitemap** is a list of pages of a website. -Structured listings of a site's page help with [search engine optimization](/en-US/docs/Glossary/SEO), providing a link for web crawlers such as search engines to follow. Site maps also help users with site navigation by providing an overview of a site's content in a single glance. +Structured listings of a site's page help with {{Glossary("seo", "search engine optimization")}} (SEO), providing a link for web crawlers such as search engines to follow. Site maps also help users with site navigation by providing an overview of a site's content in a single glance. diff --git a/files/en-us/glossary/snake_case/index.md b/files/en-us/glossary/snake_case/index.md index b0167f258294ffc..cfa220744bc2a2d 100644 --- a/files/en-us/glossary/snake_case/index.md +++ b/files/en-us/glossary/snake_case/index.md @@ -16,6 +16,7 @@ Snake case is the most popular convention in Python, Rust, and various other lan ## See also -- [Camel case](/en-US/docs/Glossary/Camel_case) -- [Kebab case](/en-US/docs/Glossary/Kebab_case) +- Related glossary terms: + - {{Glossary("Camel case")}} + - {{Glossary("Kebab case")}} - [typescript-eslint rule: `naming-convention`](https://typescript-eslint.io/rules/naming-convention/) diff --git a/files/en-us/glossary/snap_positions/index.md b/files/en-us/glossary/snap_positions/index.md index 26a8ae9ffba73e2..02470a286eccbc6 100644 --- a/files/en-us/glossary/snap_positions/index.md +++ b/files/en-us/glossary/snap_positions/index.md @@ -6,6 +6,6 @@ page-type: glossary-definition {{GlossarySidebar}} -Snap positions are points where the [scrollport](/en-US/docs/Glossary/Scroll_container) stops moving after the scrolling operation completes. Setting up snap positions allows to create a scrolling experience of paging through content instead of needing to drag content into view. +Snap positions are points where the {{Glossary("scroll container", "scrollport")}} stops moving after the scrolling operation completes. Setting up snap positions allows to create a scrolling experience of paging through content instead of needing to drag content into view. -Snap positions are set up on a [scroll container](/en-US/docs/Glossary/Scroll_container). See the [CSS Scroll Snap](/en-US/docs/Web/CSS/CSS_scroll_snap) properties. +Snap positions are set up on a {{Glossary("scroll container")}}. See the [CSS Scroll Snap](/en-US/docs/Web/CSS/CSS_scroll_snap) properties. diff --git a/files/en-us/glossary/symbol/index.md b/files/en-us/glossary/symbol/index.md index d8a36bd979f8f2a..70752fa42d13b5a 100644 --- a/files/en-us/glossary/symbol/index.md +++ b/files/en-us/glossary/symbol/index.md @@ -10,7 +10,7 @@ A **symbol** is a data type that represents unique, unforgeable identifiers. The Because a symbol is unique and unforgeable, you can only read a property value associated with a symbol if you have a reference to the original identifier. -In JavaScript, `symbol` is one of the [primitive types](/en-US/docs/Glossary/Primitive) and can be created using the [`Symbol()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) factory method that returns a different symbol each time. They can be used as keys for objects which can never accidentally collide with other properties. +In JavaScript, `symbol` is one of the {{Glossary("primitive", "primitive types")}} and can be created using the [`Symbol()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) factory method that returns a different symbol each time. They can be used as keys for objects which can never accidentally collide with other properties. JavaScript also defines two other categories of symbols: well-known symbols and registered symbols. Read the {{jsxref("Symbol")}} reference for more information. diff --git a/files/en-us/glossary/synthetic_monitoring/index.md b/files/en-us/glossary/synthetic_monitoring/index.md index 1d1dc30635ad31a..d23684339997917 100644 --- a/files/en-us/glossary/synthetic_monitoring/index.md +++ b/files/en-us/glossary/synthetic_monitoring/index.md @@ -12,10 +12,11 @@ With a consistent baseline, synthetic monitoring is good for measuring the effec Synthetic Monitoring involves deploying scripts to simulate the path an end-user might take through a web application, reporting back the performance of the simulator experiences. Examples of popular synthetic monitoring tools include [WebPageTest](https://webpagetest.org) and [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/). The traffic measured is not of your actual users, but rather synthetically generated traffic collecting data on page performance. -Unlike [RUM](/en-US/docs/Glossary/Real_User_Monitoring), synthetic monitoring provides a narrow view of performance that doesn't account for user differences, making it useful in getting basic data about an application's performance and spot-checking performance in development environments. Combined with other tools, such as network throttling, can provide excellent insight into potential problem areas. +Unlike {{Glossary("Real User Monitoring", "RUM")}}, synthetic monitoring provides a narrow view of performance that doesn't account for user differences, making it useful in getting basic data about an application's performance and spot-checking performance in development environments. Combined with other tools, such as network throttling, can provide excellent insight into potential problem areas. ## See also -- [Real User Monitoring (RUM)](/en-US/docs/Glossary/Real_User_Monitoring) +- Related glossary terms: + - {{Glossary("Real User Monitoring")}} (RUM) + - {{Glossary("Beacon")}} - [Real User Monitoring (RUM) versus Synthetic Monitoring](/en-US/docs/Web/Performance/Rum-vs-Synthetic) -- [Beacon](/en-US/docs/Glossary/Beacon) diff --git a/files/en-us/glossary/table_grid_box/index.md b/files/en-us/glossary/table_grid_box/index.md index 14e406c672755a9..cfcdcebe17c4a5a 100644 --- a/files/en-us/glossary/table_grid_box/index.md +++ b/files/en-us/glossary/table_grid_box/index.md @@ -6,4 +6,4 @@ page-type: glossary-definition {{GlossarySidebar}} -The **table grid box** is a block level box which contains all of the table internal boxes, excluding the caption. The box which includes the caption is referred to as the [table wrapper box](/en-US/docs/Glossary/Table_Wrapper_Box). +The **table grid box** is a block level box which contains all of the table internal boxes, excluding the caption. The box which includes the caption is referred to as the {{Glossary("table wrapper box")}}. diff --git a/files/en-us/glossary/table_wrapper_box/index.md b/files/en-us/glossary/table_wrapper_box/index.md index 4496bf59b57bc16..4312675d49f795b 100644 --- a/files/en-us/glossary/table_wrapper_box/index.md +++ b/files/en-us/glossary/table_wrapper_box/index.md @@ -6,4 +6,4 @@ page-type: glossary-definition {{GlossarySidebar}} -The **Table Wrapper Box** is the box generated around [table grid boxes](/en-US/docs/Glossary/Table_Grid_Box) which accounts for the space needed for any caption displayed for the table. This box will become the containing block for absolutely positioned items where the table is the containing block. +The **Table Wrapper Box** is the box generated around {{Glossary("table grid box", "table grid boxes")}} which accounts for the space needed for any caption displayed for the table. This box will become the containing block for absolutely positioned items where the table is the containing block. diff --git a/files/en-us/glossary/time_to_first_byte/index.md b/files/en-us/glossary/time_to_first_byte/index.md index 0f746df5669a6ec..af1e0a5afb123b5 100644 --- a/files/en-us/glossary/time_to_first_byte/index.md +++ b/files/en-us/glossary/time_to_first_byte/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -**Time to First Byte** (TTFB) refers to the time between the browser requesting a page and when it receives the first byte of information from the server. This time includes [DNS](/en-US/docs/Glossary/DNS) lookup and establishing the connection using a [TCP](/en-US/docs/Glossary/TCP) handshake and [TLS](/en-US/docs/Glossary/TLS) handshake if the request is made over [HTTPS](/en-US/docs/Glossary/HTTPS). +**Time to First Byte** (TTFB) refers to the time between the browser requesting a page and when it receives the first byte of information from the server. This time includes {{Glossary("DNS")}} lookup and establishing the connection using a {{Glossary("TCP")}} handshake and {{Glossary("TLS")}} handshake if the request is made over {{Glossary("HTTPS")}}. TTFB is the time it takes between the start of the request and the start of the response, in milliseconds: diff --git a/files/en-us/glossary/void_element/index.md b/files/en-us/glossary/void_element/index.md index 344daf8f6ef616a..62910e605cd9375 100644 --- a/files/en-us/glossary/void_element/index.md +++ b/files/en-us/glossary/void_element/index.md @@ -39,7 +39,7 @@ If a trailing `/` (slash) character is present in the start tag of an HTML eleme However, some code formatters add the trailing slash character to the start tags of void elements to make them XHTML-compatible and more readable. For example, some code formatters will convert `` to ``. -Self-closing tags are required in void elements in [XML](/en-US/docs/Glossary/XML), [XHTML](/en-US/docs/Glossary/XHTML), and [SVG](/en-US/docs/Glossary/SVG) (e.g., ``). +Self-closing tags are required in void elements in {{Glossary("XML")}}, {{Glossary("XHTML")}}, and {{Glossary("SVG")}} (e.g., ``). In SVG and MathML, elements that cannot have any child nodes are allowed to be marked as self-closing. In such cases, if an element's start tag is marked as self-closing, the element must not have an end tag. diff --git a/files/en-us/glossary/web_performance/index.md b/files/en-us/glossary/web_performance/index.md index 65bef8e35f4ba3b..f625030e848f22f 100644 --- a/files/en-us/glossary/web_performance/index.md +++ b/files/en-us/glossary/web_performance/index.md @@ -13,4 +13,5 @@ Objectively, it is measurable time, in milliseconds, it takes for the web page o ## See also - [Learn about web performance](/en-US/docs/Learn/Performance) -- [Perceived performance](/en-US/docs/Glossary/Perceived_performance) +- Related glossary terms: + - {{Glossary("Perceived performance")}} diff --git a/files/en-us/glossary/whitespace/index.md b/files/en-us/glossary/whitespace/index.md index 8efca2ff80c4b96..6c499a0c21117c6 100644 --- a/files/en-us/glossary/whitespace/index.md +++ b/files/en-us/glossary/whitespace/index.md @@ -24,9 +24,7 @@ The [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/ecmasc - [How whitespace is handled by HTML, CSS, and in the DOM](/en-US/docs/Web/API/Document_Object_Model/Whitespace) - {{cssxref("white-space")}} - Specifications - - [ASCII whitespace spec](https://infra.spec.whatwg.org/#ascii-whitespace) - [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-white-space) - - Related glossary terms: - {{Glossary("Character")}} diff --git a/files/en-us/glossary/windowproxy/index.md b/files/en-us/glossary/windowproxy/index.md index ce79565e40b897e..f4d5f117942a45f 100644 --- a/files/en-us/glossary/windowproxy/index.md +++ b/files/en-us/glossary/windowproxy/index.md @@ -6,7 +6,7 @@ page-type: glossary-definition {{GlossarySidebar}} -A **`WindowProxy`** object is a wrapper for a [`Window`](/en-US/docs/Web/API/Window) object. A `WindowProxy` object exists in every [browsing context](/en-US/docs/Glossary/Browsing_context). All operations performed on a `WindowProxy` object will also be applied to the underlying `Window` object it currently wraps. Therefore, interacting with a `WindowProxy` object is almost identical to directly interacting with a `Window` object. When a browsing context is navigated, the `Window` object its `WindowProxy` wraps is changed. +A **`WindowProxy`** object is a wrapper for a [`Window`](/en-US/docs/Web/API/Window) object. A `WindowProxy` object exists in every {{Glossary("browsing context")}}. All operations performed on a `WindowProxy` object will also be applied to the underlying `Window` object it currently wraps. Therefore, interacting with a `WindowProxy` object is almost identical to directly interacting with a `Window` object. When a browsing context is navigated, the `Window` object its `WindowProxy` wraps is changed. ## See also diff --git a/files/en-us/glossary/xhtml/index.md b/files/en-us/glossary/xhtml/index.md index daabf8b845f8bdb..2c1ce273e1c7a58 100644 --- a/files/en-us/glossary/xhtml/index.md +++ b/files/en-us/glossary/xhtml/index.md @@ -47,8 +47,9 @@ In practice, very few "XHTML" documents are served over the web with a `Content- ## See also -- [HTML](/en-US/docs/Glossary/HTML) -- [HTML5](/en-US/docs/Glossary/HTML5) -- [SVG](/en-US/docs/Glossary/SVG) -- [MathML](/en-US/docs/Glossary/MathML) -- [XML](/en-US/docs/Glossary/XML) +- Related glossary terms: + - {{Glossary("HTML")}} + - {{Glossary("HTML5")}} + - {{Glossary("SVG")}} + - {{Glossary("MathML")}} + - {{Glossary("XML")}} diff --git a/files/en-us/glossary/zstandard_compression/index.md b/files/en-us/glossary/zstandard_compression/index.md index 5b659d40c06c9b2..1b2cf2574894f53 100644 --- a/files/en-us/glossary/zstandard_compression/index.md +++ b/files/en-us/glossary/zstandard_compression/index.md @@ -17,6 +17,8 @@ For browser support, see [Content-Encoding: Browser compatibility](/en-US/docs/W - Related glossary terms: - {{glossary("Lossless compression")}} - {{glossary("Lossy compression")}} + - {{glossary("Brotli compression")}} + - {{glossary("Gzip compression")}} - [Zstandard RFC](https://tools.ietf.org/html/rfc8878) - [Zstandard home page](https://facebook.github.io/zstd/) - [Zstandard GitHub repository](https://github.com/facebook/zstd)