There are many different kinds of 3D printer, but the most common ones use PLA or ABS plastic spools or varying types. Some more exotic ones print metal or other materials, though those can be very expensive.
Personally, i'm using an Anet A8, which was fairly affordable, though the trade off is you have to assemble it yourself, and get a little, ah, creative with some of the parts. If yougo with the same model, some assistance may be required. I've looked quite a bit into 3D printer accessibility, and can say that it is reasonably possible to use one, though maintence may be a bit tricky at times. For example, with the Anet A8, at least how its currently configured, the extruder fan will not turn on unless the extruder is above 50 degrees, so if you listen carefully for the fans getting quieter, you'll know the extruders safe to touch. Bed leveling and ensuring the print sticks can be a frequently troublesome issue, though proper maintence can usually mitigate that.
I've evaluated a few types of controller and slicer software, and found [Pronsole] to be a screen reader accessible 3D printer command line interface, its a bit janky at times, but you can hook your 3D printer up to your PC and connect to it with it. Pronsole also comes with Slic3er, which can be used on the command line to convert 3D models to printer code, the visual GUI is also screen reader accessible, though loading models is a bit tricky. When you load the gui, press left, then tab to go to the display windows 3D toggle, then move right until it gets to layers, then hit tab again, and press right, that will select the "add" button which allows you to add a model for slicing, after that everything should alright. Convoluted I know, the only downside is that there's no way to view the position of the model on the bed, though there are a few ways to work around that.
To make 3D models, you can use OpenSCAD, which allows users to create models using text based scripting. I created a tool called AudiMesh3D that allows users to load 3D STL files and view the models as a sonified depthmap, which when combined with OpenSCAD can allow you to view and create 3D models. So you can script a 3D model in OpenSCAD, then export it as an STL, and view it in AudiMesh3D as a sonified 3D mesh. The viewer can also be used to checkout the default position of the model as its loaded into the slicer, so it can give at least some idea of what its position may be on the bed.
: Accessible Paint Tool
: Accessible 3D Model Viewer