To solve the issue I developed a workaround that was working effectively. Below is details of resolution.
Create a webpage (or action method in MVC application) that have loading time equal to portal (angular application) loading time +1 or 2 sec.
Reference this page in iframe, this iframe will resides in portal under any html tag.
Create a directive(angular) having capability to remove inner html of itself and apply this directive to HTML tag that have iframe inside.
How this will work
JAWs is not able to know when angular loads portal content asynchronously so it starts reading its buffer, and buffer don’t have portal content due to heavy use of directive and dynamic HTML.
Adding iframe will hold JAWs to read buffer because it will continuously loading (reference page). When all content loads on browser, directive will execute in last and remove that iframe and JAWs start reading buffer(Portal content). That have enough data of portal to read.