unimaze / unimaze-peppol-stylesheets

UniStyles - Templates for displaying PEPPOL BIS EN (European Norm) invoices and credit notes, maintained by Unimaze Software.
Apache License 2.0
11 stars 6 forks source link

Adding Maven XSLT commandline support, suggesting Maven file structure and turning output into valid HTML 5 #23

Closed svanteschubert closed 4 years ago

svanteschubert commented 4 years ago

Hi,

I added an out-of-the-box XSLT transformation via Maven using Saxon XSLT to ease testing the functionality of this project. In addition, I would like to suggest to simply the file structure according to the Maven Standard Directory Layout with the only difference in using the GitHub docs directory feature.

Thanks to you again to switching to the more open Apache2 license. This triggered this contribution :-)

Cheers, Svante

svanteschubert commented 4 years ago

Perhaps the more important, interesting and time-consuming change is the fixing of the XSLT to create valid HTML 5 instead of prior invalid HTML 4.

To improve accessibility like the capability of blind readers to provide semantic not to overuse 'div', but for instance, use the HTML 'table' element.

Finally, it might make sense to move all HTML into one file to potentially visualize and edit the file directly and move the XSLT complexity mostly to the other(s).

I hope this pull request could be of help to you.

markusgud commented 4 years ago

Hi Svante, thank you for your great, meaningful contribution. The reason for the "divs" instead of "tables" is for Flexbox support as far as I understand our developers. We take this into review immediately.

Cheers, Markús

svanteschubert commented 4 years ago

Hi Markús,

Yes, Flexbox layout is nice! :-)

In theory, the CSS property can be attached to any HTML element. I have seen that often table row layout is switched to flex layout to deal with smaller devices. You might be interested in the resources at the bottom of https://caniuse.com/#feat=flexbox.

I suggest that you test a blind reading software on the invoice HTML, this might explain the issue much better than I am able to. ;-) But I do not want to diminish your work, I just want to point out, what is possible and what EU governments are likely mandated to support. Nevertheless, if you consider the usage of this invoice in the public sector, you should consider the HTML 5 accessibility support. Just a short text referring to HTML Accessibility API Mappings and ARIA in HTML.

Last but not least, I find it most helpful to review such huge changes within the XSL files when using the VSCode editor with Git extension allowing editing and comparison of before/after state on two pages.

Cheers, Svante