@@ -300,27 +300,41 @@ <h3>
300
300
Declaring multiple icons
301
301
</ h3 >
302
302
< p >
303
- In the following example, the developer has made the following
304
- choices about the icons associated with the web application:
303
+ This section illustrates how to declare multiple icons using the
304
+ [=manifest/icons=] member to declare a set of icons for a web
305
+ application. In the following example, the developer has made the
306
+ following choices about the icons associated with the web
307
+ application:
305
308
</ p >
306
309
< ul >
307
310
< li > The developer has included two icons at the same size, but in
308
311
two different formats. One is explicitly marked as WebP through the
309
- `type` member. If the user agent doesn't support WebP, it falls
312
+ `type` member. If the user agent doesn't support WebP, it can fall
310
313
back to the second icon of the same size. The < a > MIME type</ a > of
311
314
this icon can then be either determined via a HTTP header, or can
312
315
be < a data-lt ="computed mime type "> sniffed</ a > by the user agent
313
316
once the first few bytes of the icon are received.
314
317
</ li >
315
- < li > The developer wants to use an SVG for greater than or equal to
316
- 257x257px. They've found that the SVG file looks too blurry at
317
- small sizes, even on high-density screens. To deal with this
318
- problem, the developer includes an SVG icon that is only used when
319
- the dimensions are at least 257px. Otherwise, the user agent uses
320
- the ICO file (hd_hi.ico), which includes a gamut of raster icons
321
- individually tailored for small display sizes.
318
+ < li > The developer specifies various sizes for the pixel-based icon
319
+ formats (e.g., a PNG file). These sizes serve as hints for the user
320
+ agent to determine a suitable icon to use in a particular context
321
+ (e.g., on the home screen of a device). The developer has also
322
+ included an ICO file (e.g., hd_hi.ico), which includes a range of
323
+ raster icons individually tailored for particular display sizes.
324
+ For example, it's often not suitable to simply downscale a 256x256
325
+ image to display in a 16x16 context, as the image will lose
326
+ significant detail. Instead, an entirely different image
327
+ specifically tailored for a 16x16 pixel context will often be used.
328
+ Additionally, they added an SVG icon that can be resized
329
+ dynamically to fit any icon size needed, but the tradeoff being
330
+ that it can become unsuitable in some context (e.g., it becomes too
331
+ small and blurry).
322
332
</ li >
323
333
</ ul >
334
+ < p >
335
+ The list of icons is provided to the user agent, which will choose
336
+ the most suitable icons for different contexts and placements.
337
+ </ p >
324
338
< pre class ="example json " title ="Multiple icons ">
325
339
{
326
340
"icons": [
335
349
"src": "icon/hd_hi.ico",
336
350
"sizes": "72x72 96x96 128x128 256x256"
337
351
},{
338
- "src": "icon/hd_hi.svg",
339
- "sizes": "257x257"
352
+ "src": "icon/hd_hi.svg"
340
353
}]
341
354
}
342
355
</ pre >
431
444
path of the [=manifest/start_url=] member is used as a fallback.
432
445
And if the [=manifest/start_url=] member is also missing, then the
433
446
document URL from which the web application is installed gets used
434
- as the scope. To be sure you don't get any unexpected navigation
435
- behavior, always include a [=manifest/scope=] member preferably set
436
- to `"/"`.
447
+ as the scope. To avoid any unexpected navigation behavior, authors
448
+ should always include a [=manifest/scope=] member preferably set to
449
+ `"/"`.
437
450
</ p >
438
451
</ section >
439
452
</ section >
@@ -3167,10 +3180,10 @@ <h3>
3167
3180
recognize or support.
3168
3181
</ p >
3169
3182
< p >
3170
- If you are writing a specification and temporarily want to patch this
3171
- specification to help implementations along, < a href =
3183
+ If editors are writing a specification and temporarily want to patch
3184
+ this specification to help implementations along, < a href =
3172
3185
"https://github.com/w3c/manifest/issues "> file a bug</ a > so the
3173
- community is informed of what you are trying to do.
3186
+ community is informed of what editors are trying to do.
3174
3187
</ p >
3175
3188
< section id ="proprietary-extensions " class ="informative ">
3176
3189
< h3 >
@@ -3194,8 +3207,8 @@ <h3>
3194
3207
short name of that proprietary ecosystem to avoid name collisions.
3195
3208
</ p >
3196
3209
< p >
3197
- Do not use vendor prefixes that you intend to later remove once it
3198
- becomes a standard (those tend to stick around forever). Only use
3210
+ Do not use vendor prefixes that are intended for later removal once
3211
+ they become standard (those tend to stick around forever). Only use
3199
3212
prefixes that will make sense now and into the future.
3200
3213
</ p >
3201
3214
< p >
@@ -3343,8 +3356,8 @@ <h2>
3343
3356
"https://schemastore.org/json/ "> schemastore.org</ a > . It is licensed
3344
3357
under < a href ="https://www.apache.org/licenses/LICENSE-2.0.html "> Apache
3345
3358
2.0</ a > . It is kindly maintained by < a href =
3346
- "https://github.com/madskristensen "> Mads Kristensen</ a > . If you find
3347
- any issues with the JSON schema, please < a href =
3359
+ "https://github.com/madskristensen "> Mads Kristensen</ a > . If developers
3360
+ find any issues with the JSON schema, please < a href =
3348
3361
"https://github.com/SchemaStore/schemastore/issues/ "> file a bug</ a > at
3349
3362
the < a href ="https://github.com/SchemaStore/schemastore "> SchemaStore
3350
3363
repository</ a > on GitHub.
0 commit comments