@@ -317,7 +317,7 @@ def _check_is_iterable_of_str(infos, key):
317
317
318
318
class RendererSVG (RendererBase ):
319
319
def __init__ (self , width , height , svgwriter , basename = None , image_dpi = 72 ,
320
- * , metadata = None ):
320
+ * , metadata = None , aria = None ):
321
321
self .width = width
322
322
self .height = height
323
323
self .writer = XMLWriter (svgwriter )
@@ -337,6 +337,7 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
337
337
self ._hatchd = {}
338
338
self ._has_gouraud = False
339
339
self ._n_gradients = 0
340
+ self ._aria = dict (aria or {})
340
341
341
342
super ().__init__ ()
342
343
self ._glyph_map = dict ()
@@ -350,7 +351,9 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
350
351
viewBox = '0 0 %s %s' % (str_width , str_height ),
351
352
xmlns = "http://www.w3.org/2000/svg" ,
352
353
version = "1.1" ,
353
- attrib = {'xmlns:xlink' : "http://www.w3.org/1999/xlink" })
354
+ attrib = {'xmlns:xlink' : "http://www.w3.org/1999/xlink" },
355
+ ** {k : self ._aria [k ] for k in ['aria-label' ] if k in self ._aria }
356
+ )
354
357
self ._write_metadata (metadata )
355
358
self ._write_default_style ()
356
359
@@ -1373,9 +1376,12 @@ def print_svg(self, filename, *, bbox_inches_restore=None, metadata=None):
1373
1376
self .figure .dpi = 72
1374
1377
width , height = self .figure .get_size_inches ()
1375
1378
w , h = width * 72 , height * 72
1379
+ aria = self .figure .get_aria ()
1376
1380
renderer = MixedModeRenderer (
1377
1381
self .figure , width , height , dpi ,
1378
- RendererSVG (w , h , fh , image_dpi = dpi , metadata = metadata ),
1382
+ RendererSVG (
1383
+ w , h , fh , image_dpi = dpi , metadata = metadata , aria = aria
1384
+ ),
1379
1385
bbox_inches_restore = bbox_inches_restore )
1380
1386
self .figure .draw (renderer )
1381
1387
renderer .finalize ()
0 commit comments