@@ -317,7 +317,7 @@ def _check_is_iterable_of_str(infos, key):
317317
318318class RendererSVG (RendererBase ):
319319 def __init__ (self , width , height , svgwriter , basename = None , image_dpi = 72 ,
320- * , metadata = None ):
320+ * , metadata = None , aria = None ):
321321 self .width = width
322322 self .height = height
323323 self .writer = XMLWriter (svgwriter )
@@ -337,6 +337,7 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
337337 self ._hatchd = {}
338338 self ._has_gouraud = False
339339 self ._n_gradients = 0
340+ self ._aria = dict (aria or {})
340341
341342 super ().__init__ ()
342343 self ._glyph_map = dict ()
@@ -350,7 +351,9 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
350351 viewBox = '0 0 %s %s' % (str_width , str_height ),
351352 xmlns = "http://www.w3.org/2000/svg" ,
352353 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+ )
354357 self ._write_metadata (metadata )
355358 self ._write_default_style ()
356359
@@ -1373,9 +1376,12 @@ def print_svg(self, filename, *, bbox_inches_restore=None, metadata=None):
13731376 self .figure .dpi = 72
13741377 width , height = self .figure .get_size_inches ()
13751378 w , h = width * 72 , height * 72
1379+ aria = self .figure .get_aria ()
13761380 renderer = MixedModeRenderer (
13771381 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+ ),
13791385 bbox_inches_restore = bbox_inches_restore )
13801386 self .figure .draw (renderer )
13811387 renderer .finalize ()
0 commit comments