Page MenuHomePhabricator

Make Graphoid return SVGs
Open, HighPublic

Description

Since Vega can render SVG graphs as sharp as their PNG counterparts, it would be rather silly not to take advantage of native SVG support in browsers, even with JavaScript disabled.
Following progressive enhancement, Graphoid should return SVG images that:

  • are much more accessible than canvases;
  • use CSS for hover styles;
  • can later be augmented with interactivity if JavaScript is present.

Moreover, returning plain SVG (XML) is likely not to have the same overhead of running a whole graphic library (with a Canvas imitation on top) on the server.

Update:
SVG is needed because it will allow links and crispier images. Beyond that, interactivity will still be provided by loading the entire vega library to the client.

Event Timeline

Ricordisamoa raised the priority of this task from to Needs Triage.
Ricordisamoa updated the task description. (Show Details)
Ricordisamoa added a project: Graphoid.
Ricordisamoa added subscribers: Ricordisamoa, Yurik.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 16 2015, 10:19 PM

As a quick summary of the discussion in T93126: We agreed that it would be prudent to sanitize the SVGs returned by Vega independently, to rule out various XSS attacks.

Yurik triaged this task as Low priority.May 11 2015, 11:27 PM
Yurik set Security to None.
Yurik raised the priority of this task from Low to High.Jan 20 2016, 2:05 PM
Yurik updated the task description. (Show Details)
Yurik added a project: Graphs.
Yurik added a subscriber: csteipp.
mxn added a subscriber: mxn.Sep 5 2016, 3:59 AM