Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify that SVG best practice is followed #50

Open
chris-little opened this issue Aug 27, 2024 · 3 comments
Open

Clarify that SVG best practice is followed #50

chris-little opened this issue Aug 27, 2024 · 3 comments

Comments

@chris-little
Copy link
Member

chris-little commented Aug 27, 2024

These symbols were originally designed when SVG1.0 was current. V1.0 is now out of date, and the current W3C Recommendation is SVG V1.1, which is a modularisation of V1.0. V1.1 also follows the guidance at https://www.w3.org/TR/SVG11/intro.html . Some of this guidance is definitely followed. Confirmation that the symbols are compatible with the other W3C guidance is needed. In particular:

  1. The symbols are defined using SVG V1.1 [DONE]
  2. The MIME type for SVG is image/svg+xml [W3C have not registered this yet!]
  3. SVG File extensions are ".svg", and ".svgz" for gzipped files. [DONE]
  4. On the Macintosh HFS file systems, the file types are "svg " and "svgz". Note the trailing blank.
  5. The SVG Namespace is http://www.w3.org/2000/svg . [DONE]
  6. DTDs and XML DOCTYPE declarations are not used. [DONE]
  7. SVG is compatible with the Extensible Markup Language (XML) 1.0 Recommendation [XML10] [DONE]
  8. SVG is compatible with the Namespaces in XML Recommendation [XML-NS] [DONE]
  9. SVG utilizes XML Linking Language (XLink) [XLINK] for IRI referencing and requires support for base IRI specifications defined in XML Base [XML-BASE]. [DONE, though XLink is deprecated in SVG2]
  10. SVG is compatible with W3C work on internationalization. References include: [UNICODE] and [CHARMOD]. Also, see Internationalization Support. [DONE]
  11. SVG is compatible with W3C work on Web Accessibility. Also, see Accessibility Support. [DONE]
  12. SVG incorporates some features and approaches of the Synchronized Multimedia Integration Language (SMIL) 3.0 Specification [SMIL], including the ‘switch’ element and the ‘systemLanguage’ attribute. [NOT NEEDED]
  13. SVG's animation features (see Animation) were developed in collaboration with the Synchronized Multimedia Integration Language (SMIL) 3.0 Specification [SMIL] and incorporate and extend the general-purpose XML animation capabilities of SMIL Animation specification [SMILANIM]. [NOT NEEDED]
  14. SVG has been designed to allow SMIL to use animated or static SVG content as media components. [NOT NEEDED]
  15. SVG content can be styled by either CSS (see Cascading Style Sheets (CSS) level 2 [CSS2]) or XSLT (see XSL Transformations (XSLT) Version 1.0 [XSLT] and XSL Transformations (XSLT) Version 2.0 [XSLT2]). See Styling with CSS and Styling with XSL for details.
  16. SVG supports properties and approaches common to CSS and XSL, plus selected semantics and features of CSS (see SVG's styling properties and SVG's Use of Cascading Style Sheets).
  17. External style sheets are referenced according to Associating Style Sheets with XML documents Version 1.0 [XML-SS].
  18. SVG conforms to the Document Object Model (DOM) Level 1 Recommendation [DOM1]. The SVG DOM has compatibility and consistency with the HTML DOM defined in the DOM Level 1 specification. The SVG DOM also supports and incorporates many facilities described in DOM Level 2, including the CSS object model and event handling [DOM2] [DOM2STYLE] [DOM2EVENTS].
  19. SVG attempts to achieve maximum compatibility with both HTML 4 [HTML4] and XHTML™ 1.0 [XHTML], including its use of CSS [CSS2], its approach to event handling, and its approach to its Document Object Model [DOM2].
  20. In environments which support DOM 2 Core [DOM2] for other XML grammars (e.g., XHTML [XHTML]) and which also support SVG and the SVG DOM, a single scripting approach can be used simultaneously for both XML documents and SVG graphics, in which case interactive and dynamic effects will be possible on multiple XML namespaces using the same set of scripts.
@chris-little
Copy link
Member Author

Points 15 to 20 are the only issues that need input from real world experience, and these are two areas:
15, 16, 17 refer to styling and stylesheet handling. Is CCS or XSLT more dominant in the real world?
18, 19, 20 refer to Document Object Model (DOM) handling. Can HTML 4 be ignored because XHTML is ubiquitous? Is DOM2 handling common or is everything still at the DOM1 level?

@chris-little
Copy link
Member Author

@tomkralidis As XLink is deprecated in SVG2 (though SVG V2 is not yet a recommendation, and may not be), this suggestes that XSLT is probably not popular either, so CSS is probably the style approach of choice.

@chris-little
Copy link
Member Author

Several browsers seem to have implemented some but not all aspects of SVG V2, which is still a Candidate Recommendation, dated 2018, but others aspects still adhere to SVG v1.1 (2nd Edition) which is a full Recommendation, dated 2011.
One important "feature" is the differing inheritance of style attributes from surrounding/parent containers, whether SVG containers or HTML or XHTML, when using the use container.
ALso, I think that I took the minimal SVG V1.2 "Tiny" Recommendation, dated 2008 as my base. This does not require support for CSS2 selectors. So nothing fancy envisaged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant