eBay / visual-html

Visual regression testing without the flakiness.
MIT License
28 stars 8 forks source link

Retain [some?] non-style attributes #15

Open vwong opened 2 years ago

vwong commented 2 years ago

Description

Would it be possible to retain some non-style attributes like <img src=x>, <img alt=x>, and <div aria-labelledby> etc in the snapshot?

Why

Arguably the test for these things could be done with more specialised tools, like testing-library for example, but having it retained in the snapshot is a quick way to increase coverage, so that we can at least pick up accidental changes without having to explicitly code for it.

Possible Implementation & Open Questions

How long is a piece of string? Where do we draw the limits of what gets retained/discarded?

Is this something you're interested in working on?

Yes, happy to create a PR if I knew where/how to make the change.

DylanPiercey commented 2 years ago

@vwong this tool actually does preserve a list of attributes deemed to be visual (https://github.com/eBay/visual-html/blob/master/src/html-properties.ts#L1). I'm not quite sure why img src didn't make the list, I think that should be added.

As far as alt text and aria attributes I feel it belongs in another tool. I've thought since building this that a sister tool for snapshotting and normalizing the a11y tree would be great. Eg it should normalize <label>, aria-label etc. I've wanted to build this "audible-html" for a while but just haven't had the time.

vwong commented 2 years ago

audible-html sounds like an even better idea! I might be keen to try building that myself, using this repo as a starting point.

But for now <img src> wasn't preserved in my testing, though the applied styles were.