summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7993.txt
blob: 18b9f7b5484495b7cdb16b127db3b115a6a31de6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
Internet Architecture Board (IAB)                            H. Flanagan
Request for Comments: 7993                                    RFC Editor
Category: Informational                                    December 2016
ISSN: 2070-1721


           Cascading Style Sheets (CSS) Requirements for RFCs

Abstract

   The HTML format for RFCs assigns style guidance to a Cascading Style
   Sheet (CSS) specifically defined for the RFC Series.  The embedded,
   default CSS as included by the RFC Editor is expected to take into
   account accessibility needs and to be built along a responsive design
   model.  This document describes the requirements for the default CSS
   used by the RFC Editor.  The class names are based on the classes
   defined in "HTML for RFCs" (RFC 7992).

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Architecture Board (IAB)
   and represents information that the IAB has deemed valuable to
   provide for permanent record.  It represents the consensus of the
   Internet Architecture Board (IAB).  Documents approved for
   publication by the IAB are not a candidate for any level of Internet
   Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7993.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.






Flanagan                      Informational                     [Page 1]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Design Goal . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  General Requirements  . . . . . . . . . . . . . . . . . . . .   3
   4.  Page Layout . . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Title Page Header . . . . . . . . . . . . . . . . . . . .   4
     4.2.  Body  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.3.  Font Choices  . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Printing  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   6.  Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   7.  CSS Classes and Attributes  . . . . . . . . . . . . . . . . .   5
     7.1.  .alignCenter  . . . . . . . . . . . . . . . . . . . . . .   5
     7.2.  .alignRight . . . . . . . . . . . . . . . . . . . . . . .   5
     7.3.  .artwork  . . . . . . . . . . . . . . . . . . . . . . . .   5
       7.3.1.  .art-ascii-art  . . . . . . . . . . . . . . . . . . .   5
       7.3.2.  .art-logo . . . . . . . . . . . . . . . . . . . . . .   5
     7.4.  .cref . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.5.  .crefAnchor . . . . . . . . . . . . . . . . . . . . . . .   6
     7.6.  .crefSource . . . . . . . . . . . . . . . . . . . . . . .   6
     7.7.  .dlCompact  . . . . . . . . . . . . . . . . . . . . . . .   6
     7.8.  .dlHanging  . . . . . . . . . . . . . . . . . . . . . . .   6
     7.9.  .dlParallel . . . . . . . . . . . . . . . . . . . . . . .   6
     7.10. .docInfo  . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.11. .eref . . . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.12. .finalized  . . . . . . . . . . . . . . . . . . . . . . .   6
     7.13. .note . . . . . . . . . . . . . . . . . . . . . . . . . .   6
       7.13.1.  .rfcEditorRemove . . . . . . . . . . . . . . . . . .   6
     7.14. .olCompact  . . . . . . . . . . . . . . . . . . . . . . .   7
     7.15. .olPercent  . . . . . . . . . . . . . . . . . . . . . . .   7
     7.16. .pilcrow  . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.17. .relref . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.18. .rendered . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.19. .sourcecode . . . . . . . . . . . . . . . . . . . . . . .   7
     7.20. .toc  . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.21. .type . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.22. .ulCompact  . . . . . . . . . . . . . . . . . . . . . . .   8
     7.23. .ulEmpty  . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.24. .url  . . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.25. .xref . . . . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Appendix A.  List of Classes  . . . . . . . . . . . . . . . . . .  10
   IAB Members at the Time of Approval . . . . . . . . . . . . . . .  14
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  14
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  14



Flanagan                      Informational                     [Page 2]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


1.  Introduction

   The HTML format for RFCs, described in [RFC7992], assigns style
   guidance to a Cascading Style Sheet (CSS) specifically defined for
   the RFC Series.  This CSS will be embedded in the published HTML, and
   it may be overridden by a locally defined CSS, as desired.  The
   embedded, default CSS as included by the RFC Editor is expected to
   take into account accessibility needs and to be built along a
   responsive design model.

   This document describes the requirements for the default CSS used by
   the RFC Editor.  Unless called out otherwise, any styling provided
   for these classes must not alter the natural language content in any
   visible way.  Many of these classes are provided to mark the elements
   semantically: elements using them should simply inherit their
   surrounding styling.  Exceptions are listed below.  A class is
   identified for Internet-Drafts, such that certain features found only
   in I-Ds may be made distinct in some fashion within those drafts.
   The requirements will only be applied to HTML documents published by
   the RFC Editor as per [RFC7990].

   The details included in this document are expected to change based on
   experience gained in implementing the new publication toolsets.
   Revised documents will be published capturing those changes as the
   toolsets are completed.  Other implementers must not expect those
   changes to remain backwards compatible with the details included in
   this document.

2.  Design Goal

   RFCs must be adaptable to a wide variety of devices and displays,
   accessible to assisted readers, and printable.

3.  General Requirements

   o  Support the display of the semantic HTML described in [RFC7992].

   o  Follow best practice for accessibility, as defined by the W3C's
      "Best Practices for Authoring HTML" [HTMLBP].

   o  Follow best practice for mobile devices, as defined by the W3C's
      "Best Practices for Authoring HTML".

   o  Allow for a broad range of internationalized scripts.







Flanagan                      Informational                     [Page 3]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


4.  Page Layout

4.1.  Title Page Header

   The document header must be at the top of the document and include
   all information described in "RFC Style Guide" [RFC7322] and "RFC
   Streams, Headers, and Boilerplates" [RFC7841].

4.2.  Body

   The body of the document must conform to the following:

   o  Examples and code blocks must be in a fixed-width font

   o  ASCII art must be in a fixed-width font

   o  Reflow the text as the screen gets smaller and limit max width

   o  Block quotes must be indented

   o  Tables must allow for distinct header rows

   o  Paragraphs should include a hover-over paragraph identifier

   All anchor tags and URLs should be clearly distinguished as links,
   for example, through the use of color and/or text decoration,
   following appropriate accessibility standards.

4.3.  Font Choices

   o  Default to a sans-serif font family with broad Unicode support for
      web browser viewing.

   o  Default to a serif font family with broad Unicode support for
      printing.

   o  A fixed-width font must be used for code and artwork-tagged
      sections.

   o  All fonts should be publicly licensed and supported by all major
      web browsers.

5.  Printing

   The CSS must include support for a printer-friendly output.  The
   print rules should be a part of the embedded style sheet; consumers
   of an RFC may develop their own print-specific style sheet, as
   desired.



Flanagan                      Informational                     [Page 4]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


6.  Lists

   Lists should provide ample whitespace between list elements for
   legibility unless a 'compact' class is specified (e.g., .dlCompact,
   .ulCompact, .olCompact).

7.  CSS Classes and Attributes

   This section describes the CSS classes that result in specific
   changes to the natural language content of a document.  A full list
   of available classes, not including basic selectors, is included in
   Appendix A.

7.1.  .alignCenter

   To be used with '.artwork' to indicate the figure should align in the
   center of the page flow.

7.2.  .alignRight

   To be used with '.artwork' to indicate the figure should align on the
   right of the page flow.

7.3.  .artwork

   These classes will mostly be styled as part of '.artwork'.  Specific
   classes may include '.art-ascii-art' and '.art-svg'.  Artwork will be
   held in its own block of space, centered in the page flow, and will
   not float.  Images should have a max width of 100% so views will
   scale properly across a variety of screens and devices.

7.3.1.  .art-ascii-art

   Must use a mono-spaced font.

7.3.2.  .art-logo

   No visible changes to the natural language content; keep in default
   style.  Note that such images are not currently allowed in RFCs.

7.4.  .cref

   A comment within an I-D; should be visually distinct.

   For I-Ds only; not for RFCs.






Flanagan                      Informational                     [Page 5]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


7.5.  .crefAnchor

   A comment within an I-D; should be visually distinct.

   For I-Ds only; not for RFCs.

7.6.  .crefSource

   A comment within an I-D; should be visually distinct.

   For I-Ds only; not for RFCs.

7.7.  .dlCompact

   Use less spacing on a definition list than the default.

7.8.  .dlHanging

   Use the standard hanging indent for a definition list; indent terms.

7.9.  .dlParallel

   Do not use the standard hanging indent for a definition list; align
   terms and definitions along left side.

7.10.  .docInfo

   Hide from visible content.

7.11.  .eref

   Standard link formatting (underlined, change in color).

7.12.  .finalized

   Hide from visible content.

7.13.  .note

   Notes should be emphasized and distinct from normal paragraph text.

7.13.1.  .rfcEditorRemove

   An RFC Editor note may be added after the standard boilerplate.  It
   should be visually distinct to highlight final removal of the note by
   the RFC Editor.





Flanagan                      Informational                     [Page 6]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


7.14.  .olCompact

   Use less spacing on a numbered list than the default.

7.15.  .olPercent

   If the style attribute from the source XML contains a percent sign, a
   particular style setting will be required to make this setting behave
   like an HTML ordered list.

7.16.  .pilcrow

   Pilcrows, when used as described in RFC 7992, should appear at the
   end of the paragraph, artwork, or sourcecode segment.  They should
   not appear until moused-over.  They should not show when printed, and
   they should not be selected when copied with a copy/paste function.

7.17.  .relref

   Should be clearly distinguished as links.

7.18.  .rendered

   Hide from visible content.

7.19.  .sourcecode

   Code examples or components should be in a fixed-width font if the
   human language used has an available fixed-width font option, and
   they should be visually distinct.  If no fixed-width font is
   available, use the default font for that human language.

7.20.  .toc

   The table of contents should be clearly distinguished using an
   indented, ordered list with the list style set to 'none', allowing
   for hyperlinked, in-line dotted number notation (e.g., 1., 1.1.,
   1.1.1.).

7.21.  .type

   No visible changes to the natural language content; keep in default
   style.








Flanagan                      Informational                     [Page 7]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


7.22.  .ulCompact

   Use less spacing on a bulleted list than the default.

7.23.  .ulEmpty

   Indent from the margin of the previous paragraph.

7.24.  .url

   Should be clearly distinguished as links.

7.25.  .xref

   Should be clearly distinguished as links.

8.  Security Considerations

   Security vulnerabilities can be introduced through the CSS, as with
   CSS injection attacks [CSSATTACK].  In order to avoid or mitigate any
   attack vectors here, the CSS used must comply with the current CSS
   Specifications from the W3C.

9.  References

9.1.  Normative References

   [HTMLBP]   W3C, "Best Practices for Authoring HTML Current Status",
              <http://www.w3.org/standards/techs/htmlbp>.

   [RFC7841]  Halpern, J., Ed., Daigle, L., Ed., and O. Kolkman, Ed.,
              "RFC Streams, Headers, and Boilerplates", RFC 7841, DOI
              10.17487/RFC7841, May 2016,
              <http://www.rfc-editor.org/info/rfc7841>.

   [RFC7322]  Flanagan, H. and S. Ginoza, "RFC Style Guide", RFC 7322,
              DOI 10.17487/RFC7322, September 2014,
              <http://www.rfc-editor.org/info/rfc7322>.

   [RFC7990]  Flanagan, H., "RFC Format Framework", RFC 7990,
              DOI 10.17487/RFC7990, December 2016,
              <http://www.rfc-editor.org/info/rfc7990>.

   [RFC7992]  Hildebrand, J., Ed. and P. Hoffman, "HTML Format for
              RFCs", RFC 7992, DOI 10.17487/RFC7992, December 2016,
              <http://www.rfc-editor.org/info/rfc7992>.





Flanagan                      Informational                     [Page 8]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


9.2.  Informative References

   [CSSATTACK]
              Huang, L-S., Weinberg, Z., Evans, C., and C. Jackson,
              "Protecting browsers from cross-origin CSS attacks", In
              Proceedings of the 17th ACM conference on Computer and
              communications security (CCS '10), pp. 619-629, 2010,
              <https://doi.org/10.1145/1866307.1866376>.











































Flanagan                      Informational                     [Page 9]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


Appendix A.  List of Classes

   This section lists all the CSS classes.  Except for those also listed
   in Section 7, none of these result in specific changes to the natural
   language content of a document.

   o  .adr

   o  .alignCenter

   o  .alignRight

   o  .annotation

   o  .artwork

         .art-ascii-art

         .art-logo

         .art-svg

   o  .ascii

   o  .author

   o  .authors

   o  .bcp14

   o  .center

   o  .city

   o  .compact

   o  .country-name

   o  .cref












Flanagan                      Informational                    [Page 10]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


   o  .crefAnchor

   o  .crefSource

   o  .dlCompact

   o  .dlHanging

   o  .dlParallel

   o  .docInfo

   o  .ears

   o  .email

   o  .eref

   o  .finalized

   o  .fn

   o  .index

   o  .indexChar

   o  .indexIndex

   o  .indexItem

   o  .indexPrimary

   o  .indexSubItem

   o  .initial

   o  .iref

   o  .irefItem

   o  .irefRefs

   o  .irefSubItem

   o  .label

   o  .left




Flanagan                      Informational                    [Page 11]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


   o  .locality

   o  .nameRole

   o  .note

         .rfcEditorRemove

   o  .olCompact

   o  .olPercent

   o  .org

   o  .organization

   o  .pilcrow

   o  .postal-code

   o  .published

   o  .refContent

   o  .refDate

   o  .refInstance

   o  .refTitle

   o  .reference

   o  .region

   o  .relref

   o  .rendered

   o  .RFC

   o  .rfcEditorRemove

   o  .right

   o  .role

   o  .selfRef




Flanagan                      Informational                    [Page 12]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


   o  .series

   o  .seriesInfo

   o  .sourcecode

         .lang-*

   o  .street-address

   o  .status

   o  .street-address

   o  .surname

   o  .tel

   o  .toc

   o  .type

   o  .ulCompact

   o  .ulEmpty

   o  .url

   o  .workgroup

   o  .xref

   o  .vcard


















Flanagan                      Informational                    [Page 13]
^L
RFC 7993                    CSS Reqs for RFCs              December 2016


IAB Members at the Time of Approval

   The IAB members at the time this memo was approved were (in
   alphabetical order):

      Jari Arkko
      Ralph Droms
      Ted Hardie
      Joe Hildebrand
      Russ Housley
      Lee Howard
      Erik Nordmark
      Robert Sparks
      Andrew Sullivan
      Dave Thaler
      Martin Thomson
      Brian Trammell
      Suzanne Woolf

Acknowledgements

   With many thanks to the RFC Format Design Team for their efforts in
   making this transition successful: Nevil Brownlee (ISE), Tony Hansen,
   Joe Hildebrand, Paul Hoffman, Ted Lemon, Julian Reschke, Adam Roach,
   Alice Russo, Robert Sparks (Tools Team liaison), and Dave Thaler.

   Additional thanks to Arlen Johnson of Spherical Cow Group, LLC, for
   his assistance in clarifying the requirements in more CSS-designer-
   friendly language.

Author's Address

   Heather Flanagan
   RFC Editor

   Email: rse@rfc-editor.org
   URI:   http://orcid.org/0000-0002-2647-2220














Flanagan                      Informational                    [Page 14]
^L