SSC is pre–alpha software. It doesn’t do what it’s supposed to do, and what it’s supposed to do is wrong.
- SSC is built based on my understanding of various standards. My understanding is certainly wrong. I will have misread some of the text, and misunderstood what I read correctly;
- I had to make a number of compromises when building the code. Quite a lot of the checks are incomplete or even entirely missing;
- I put my emphasis on standards that are actively followed, and put little effort, beyond the basics, into those that were never properly implemented;
- I built an evolving product, reflecting evolving standards: biological evolution made the dodo, linguistic evolution made ‘hippopotamus’, I made SSC;
- The code was built to get something working. In many places, it is horrible. A great deal of refactoring could take place, had I the time.
- No attempt was made to write secure code. It should only be run on trusted data. In particular, a great weakness of much software is the parser, and the parsers in SSC were handmade using hopeless optimism and bizarre ideas.
- No attempt was made to write multi–threading code;
- The unicode support is token, it needs integrating properly;
- The tests are very much incomplete. Emphasis is placed on HTML 5, but even those tests suffer from a lot of missing content.
Furthermore, SSC is incomplete. In particular, it is missing analysis of:
- newer versions of SVG, as required by HTML 5;
- the full evolution of WhatWG HTML 5, specifications that have most certainly formed the basis of many contemporary websites;
- RDF, and so schema.org that uses RDF;
- XHTML 5;
- microformats structures that use WhatWG HTML microdata;
- many other microdata standards;
- many other XHTML and HTML extensions.
Note that github hosts a list of known issues.