Fixes for behavior with empty HTML fields.

Closes #1101.

This isn't quite perfect, as we erroneously enforce that missing char fields in HTML are coerced to '', but that's not totally unreasonable behavior and it's good enough for now.