SELECT a.id, a.name, b_Width.value AS width, b_Height.value AS height, b_color.value AS color
FROM Table_A AS a
JOIN Table_B AS b_Width
ON b_Width.a_id = a.id AND b_Width.type = 'width'
JOIN Table_B AS b_Height
ON b_Height.a_id = a.id AND b_Height.type = 'height'
JOIN Table_B AS b_Color
ON b_Color.a_id = a.id AND b_Color.type = 'color'
But seriously consider redesigning your schema. value is holding colors and linear dimensions, it'd be better if it were designed differently.
Keep TableA the way it is but then have a table called Details that has width/height/color columns. Or have a table called Size with width/height columns and a table called Color with the color name or RGB value. Each additional table of course has an FK to TableA which may or may not be used as that table's PK.