Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

CSS for visited links ( A:Visited ) does not work #512

Closed
FrancisTurner opened this issue Feb 1, 2016 · 16 comments
Closed

CSS for visited links ( A:Visited ) does not work #512

FrancisTurner opened this issue Feb 1, 2016 · 16 comments

Comments

@FrancisTurner
Copy link
Contributor

Related to #505 and #444 and as requested by @bbondy in the former.

CSS related to the "A:Visited" CSS object is not displayed even when the user has visited a link and then returned to the original page. This is NOT a CSS issue because (for example) the A:Hover CSS works fine, but seems to be related to the unimplemented history functionality

Steps to reproduce. Original

  1. Google Something e.g. "brave issues"
  2. Go to the page of one of the hits
  3. Go back to the google search page
  4. Note that the link you visitied is still blue not purple as it is with any other browser

Steps to reproduce new

  1. Create two html files test1.htm and test 2.htm as attached.
  2. Go to the first one.
  3. Note color to link to second one
  4. Click on link
  5. Note color of link back to first one

testhtm.zip

@luixxiul luixxiul added the design A design change, especially one which needs input from the design team. label Jun 13, 2016
@luixxiul
Copy link
Contributor

luixxiul commented Aug 11, 2016

+1 from support

+1 from the community: https://community.brave.com/t/visited-links-should-change-color/564

@luixxiul luixxiul modified the milestones: Backlog, 1.0.0 Jan 4, 2017
@pluma
Copy link

pluma commented Jan 6, 2017

This makes aggregator sites like Hacker News and Reddit harder to use because it's impossible to tell at a glance what links you've visited or not.

I'm guessing this is based on a misunderstanding of the privacy risk: although other browsers allow modifying some of the visual properties of visited links (especially color) the visited state is not exposed to the DOM (e.g. via element.matches) and the styling can not use properties that would alter the link in a way that is recognisable in JS (e.g. switching fonts to check for a size difference).

@bsclifton
Copy link
Member

@jonathansampson I know we had an issue in which we documented why this was not enabled, but I'm having trouble finding it. Do you have any info about that?

Regardless, it would be a pretty cool optional feature (maybe allow a setting to enable, default to false).

@pouyakary
Copy link

pouyakary commented Jan 8, 2017

I think #6395 is probably related to this issue. So this might be with all link styles in general
Update it wasn't the case, the problem was (and still is) within Chromium project.

@dominykas
Copy link

dominykas commented Jan 17, 2017

a pretty cool optional feature

Not sure I agree. This is a fundamental browsing UX feature, esp. on any sites that you return to frequently that it's likely desirable to be on by default. Ever since I switch to Brave as my default, this is the single major issue I have with it. It is painful on various classified ad websites (planning some big purchases...) and it is painful on search engines (esp. when searching for the same thing using different keywords).

There may be scope for some intelligent handling if this is an "optional" feature (e.g. suggest to turn it on if the site is visited frequently and has long lists and the visitor is going through these lists clicking multiple items). In fact in the situation described, I'd even consider a notification to turn on the visited link highlighting even if the website sheet does not have :visited configured.

@pluma
Copy link

pluma commented Jan 17, 2017

As a citation for the claim that this is a fundamental usability feature:

https://www.nngroup.com/articles/change-the-color-of-visited-links/

I think it can even be argued that this is an accessibility feature because it reduces the cognitive load when browsing link lists (e.g. reddit, HN, as above), especially for people with mild cognitive disabilities.

@bsclifton
Copy link
Member

+1 from user @da0ist. I definitely miss the purple visited links myself. It would be great if this was addressed soon

@cndouglas
Copy link

I think this is something every other browser has. It would be nice to have a setting for it.

@cndouglas cndouglas added the parity Features which should be supported in Brave since they're supported in other major browsers. label Mar 30, 2017
@jonathansampson
Copy link
Collaborator

jonathansampson commented Apr 10, 2017

@bsclifton @liunkae I suspect we don't preserve a:visited styles in order to further protect user privacy: If I flood the DOM with links, and check their rendered color, I can tell where you go (and fingerprint you).

We may consider allowing the styling, but breaking the integrity of getComputedStyle, such that it returns the a:link color, rather than the a:visited color. I believe this is what some browsers today are doing. I'd love to get @diracdeltas' input on this approach as a potential alternative to full-on blocking.

@diracdeltas
Copy link
Member

i'm pretty sure other browsers visually support CSS visited differentiation; they just lie about it in getComputedStyle to prevent fingerprinting.

@jonathansampson
Copy link
Collaborator

@diracdeltas I'm surprised we don't get this for free from Chromium… Or did we?

@bbondy bbondy modified the milestones: 1.1.0, 1.0.0 Apr 17, 2017
@luixxiul luixxiul added the bug label Apr 30, 2017
@cndouglas
Copy link

As of 0.15.310, visited links seem to be highlighted for me.

@cndouglas
Copy link

See also #9351 (Visited links are not reset when history is cleared)

@bsclifton
Copy link
Member

@bbondy @alexwykoff should we close this? it seems to be working now

@diracdeltas
Copy link
Member

I tested and this seems fixed now

@luixxiul
Copy link
Contributor

tested on google result

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests