Running a nonfree program personally isn't unethical because it is you who is
being victimized, but steering someone towards nonfree software is.
I'm no web developer, but I'm a software developer. Unfortunately, Wine is
too limited for cx_Freeze (a free program which "freezes" Python programs
into executables that work without Python and needed libraries being
installed on the system), so I don't use it at all right now, but if it did
work on Wine, I would create a Windows executable with Wine and ensure that
it works on Wine. Similarly, if I needed to compile a C++ program for
Windows, I would do it on Wine and test it on Wine. Maybe something really
weird will happen that I didn't expect, but in that case, the user can report
the problem; it's not my fault if Windows is less capable of executing its
own native code than a Windows compatibility layer on top of GNU/Linux.
It's not unreasonable to not test on a system you can't run for personal
reasons, in my opinion (such as not wanting to be subjugated, or simply not
having the system available to you). In the case of a web developer, I would
say test on all free browsers available to you (possibly including Wine
Internet Explorer, which is included with Wine) and, most importantly, follow
the standards. Don't use deprecated tags and avoid strange hacks. If the
browser used doesn't properly follow standards that it was supposed to
follow, and you can't test your webpages on this browser, it's not your fault
that your perfectly valid webpage broke. They can report the issue, and you
can tell them that it's a fault of the browser they're using, which you
couldn't test on, and that they ought to be using a better browser, but that
you will do your best to fix the problem regardless.