Subject: shr should allow user to toggle HTML-specified colors on and off

From: Ivan Shmakov <[email-masked]>
Date: Fri, 20 Dec 2013 13:20:47 +0000

Package:  emacs
Severity: wishlist

	Badly-formatted netnews articles aren’t unknown in Usenet, so
	Gnus already comes with a set of commands [1] to improve the
	formatting of the messages as they’re shown to the user.

	I’d argue, however, that ugly HTML documents are much more
	common on the Web than such articles are on Usenet.  Granted,
	shr.el does not (as of yet) support a good deal of features
	casually used to degrade the reader’s experience.  Still, it
	supports the ‘fgcolor’, ‘text’ and ‘bgcolor’ attributes to
	<body />, and the ‘color’ attribute to <font />, leaving the
	user no easy way to get rid of whatever color scheme the Web
	page author has decided to use.

	Also to note is that both the <font /> element and the ‘bgcolor’
	and ‘text’ attributes to <body /> were already deprecated as of
	HTML 4.01 (developed back in 1997–1999 – some 15 years ago! and
	the specification doesn’t seem to mention ‘fgcolor’ at all) [2],
	and are entirely removed as of the latest HTML5 CR [3].

	My guess is that there should be a (customizable) variable
	specifying whether these attributes should be honored by
	default, and a command (or a minor mode?) to change the setting
	for just the current buffer.

	As a crude (but working) workaround, those suffering of the
	“too much color” problem may choose to redefine the shr-tag-body
	and shr-tag-font element handlers to simplistic wrappers around
	shr-generic in their ~/.emacs, like:

(eval-after-load 'shr
  '(progn
     (defun shr-tag-body (cont)
       (let ((shr-stylesheet (list)))
	 (shr-generic cont)))
     (defun shr-tag-font (cont)
       (shr-generic cont))))

[1] http://www.gnu.org/software/emacs/manual/html_node/gnus/Article-Washing.html
[2] http://www.w3.org/TR/html4/
[3] http://www.w3.org/TR/html5/

-- 
FSF associate member #7257