Understanding accessibility is a process of relating four main categories of abilities to software development. These broad categories are:
For each category, the needs of users needs to be considered. It must also be understood that every person has a range of abilities, and that range can very depending on things that include a person's age, their environment, and other activities they may be engaged in. Some examples of solutions to problems faced by people with abilities outside the 'normal' range include:
Individuals who have visual impairments include abilities ranging from complete blindness to people who can't read small text without their glasses. Solutions to these problems might include things like text equivalents for images and keyboard only navigation. They may need to use high contrast color schemes or large fonts. They may not be sensitive to differences in color, requiring the software to communicate with the user using some other channel of information.
Individuals who have hearing impairments need solutions such as closed captions and transcripts of spoken audio, or other visual means that communicate the message a sound is conveying.
Individuals who have mobility impairments may need solutions such as voice controls or keyboard shortcuts. They almost certainly need software that does not impede or interfere with alternative access software running on their computer.
Individuals who have cognitive impairments need solutions such as simplified terminology, example inputs, and unified page layouts.
As a software developer, there are practices that can either help or hinder the accessibility of the software you work on. For example, if you are working on desktop software, and you create custom GUI controls, then the tools that people with visual impairments use might not be able to interact with those controls unless you make extra effort to make those controls accessible. If you are developing web-based software, the structure and content of the pages can likewise either help or hinder people with disabilities that are using your site.
References
NVDA is a free screen reader for Windows, which you can use for testing.