Well, I am not going to say what falls in functional/non-functional testing as it might vary in your work place. But if you carry out a11y testing then do you have it marked as functional testing or non functional testing?
In traditional models, accessibility falls under non-functional testing; however, because in commercial software accessibility often falls under legal or regulatory requirements it may also be considered functional but, not all software is commercial software or needs to comply with governmental regulations
I like the following definitions from http://www.lessons-from-history.com/node/83 "a functional requirement specifies what the system should do" "a non-functional requirement specifies how the system should behave"
I think that it would depend on the industry and the deployment of the application as to how you treat it. For example, it may be irrelevant for an internal only tool, but completely relevant if you are the website of the Olympic Games and don't want to get sued.
(The Sydney 2000 Organising Committee lost a lawsuit for failing to cater for users who could not access a visual version of the Sydney 2000 Olympic Games website.)
Like Jeff Atwood treats performance (as a feature) I would treat it like a feature, and test it as such.
Functional testing deals with checking the functionality of a system or application works as expected. You give certain inputs and check whether you get the expected output. You will usually use some sort of heuristic to tell whether result is expected or not.
Non Functional testing deals with checking the non-functional aspects of systems such as performance, reliability, scalability, usability etc.
Accessibility testing is about evaluating how accessible/usable a product is to people who have Motor, Cognitive, Visual or Hearing impairments to some extent. To ensure an application is accessible the UI design is really important. Also the application should compatible with accessibility standards set forth by [Web Content Accessibility Guidelines 2.0] which include things beyond just the UI.
So, I would say that accessibility testing cuts across both functional and non-functional testing.
Before doing Accessibility testing we need to know functional requirements for example error message scenarios, but the outcome of the accessibility testing will be pass or fail based WCAG guidelines. Ex: Error message is displayed but it does not announced by any assistive technology. The above example fails under Input assistance WCAG guidelines. So it will be the Non functional testing.